MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/uds.cafsinfotech.in/application/views/pay_structure_static/manage.php
<?php 
	$this->load->view("partial/header"); 

	$access_data    = $this->session->userdata('access_data');
	$access_add     = (int)$access_data[$controller_name]['access_add'];
	$access_update  = (int)$access_data[$controller_name]['access_update'];
	$access_delete  = (int)$access_data[$controller_name]['access_delete'];
	$access_search  = (int)$access_data[$controller_name]['access_search']; 
	$access_export  = (int)$access_data[$controller_name]['access_export'];
	$access_import  = (int)$access_data[$controller_name]['access_import'];
	
	$page_name      = ucwords(str_replace("_"," ",$controller_name));
	$uniqueId       = "prime_".$controller_name."_id";
	$category       = $this->session->userdata('logged_role');
	$employee_code  = $this->session->userdata('logged_emp_code');
	$user_role      = $this->session->userdata('logged_user_role');
	
	$import_url     = site_url($controller_name ."/import/");

	if($access_import === 1){
		$breadcrumb .= "<li>
							<a class='btn btn-xs btn-primary import' data-btn-submit= 'Submit' title='Import $page_name' href='$import_url' data_form='$controller_name' > <span class='fa fa-cloud-upload'>&nbsp</span> Import $page_name
							</a>
						</li>";
	}
?>

<div class='row title_content'>
	<div class='col-md-2 col-xs-4'>
		<h1 class='page_txt'><?php echo $page_name;?></h1>
	</div>
	<div class='col-md-10 col-xs-6'>
		<ol class="breadcrumb">
			<?php  echo $breadcrumb; ?>	
		</ol>
	</div>
</div>
<div id="holder" class="form-inline" style="margin-top:20px;">
	<div class="col-md-12">
		<div class="col-md-3">
			<?php echo form_label("Personal Area", 'personal_code', array('class' => 'required'));
				  echo form_dropdown(array('name' => 'personal_code','id' =>'personal_code','class' => 'form-control input-sm select2'), $per_area_list); 
			?>
		</div>		
		<div class="col-md-3">
			<!-- <?php echo form_label("Wbs Element", 'wbs_element_val', array('class' => 'required'));
				  echo form_input( array("name"=>"wbs_element", "id"=>"wbs_element",'value' => 0,"type"=>"hidden"));
				  echo form_input(array('name' => 'wbs_element_val','id' =>'wbs_element_val','value' => '','class' => 'form-control input-sm modal-content', 'placeholder' => "Search")); 
			?>
			<div class='append_div'></div> -->
			<?php echo form_label("Wbs Element", 'wbs_element', array('class' => 'required'));
				  echo form_dropdown(array('name' => 'wbs_element','id' =>'wbs_element','class' => 'form-control input-sm select2'), $wbs_element_list); 
			?>
		</div>	
		<div class="col-md-3">
			<!-- <?php
				echo form_label("Object ID", 'object_id', array('class' => 'required'));
				echo form_input(array('name' => 'object_id','id' => 'object_id','class' => 'form-control input-sm','value'=>'')); 
			?> -->
			<?php echo form_label("Position", 'position', array('class' => 'required'));
				  echo form_dropdown(array('name' => 'position','id' =>'position','class' => 'form-control input-sm select2'), $position_list); 
			?>
		</div>	
		<!-- <div class="col-md-2">
			<?php
				echo form_label("From Date", 'from_date', array('class' => 'required'));
				echo form_input(array('name' => 'from_date','id' => 'from_date','class' => 'form-control input-sm datepicker','value'=>'')); 
			?>
		</div>
		<div class="col-md-2">
			<?php
				echo form_label("To Date", 'to_date', array('class' => 'required'));
				echo form_input(array('name' => 'to_date','id' => 'to_date','class' => 'form-control input-sm datepicker','value'=>'')); 
			?>
		</div>
		<div class="col-md-2">
			<?php
				echo form_label("Effective Date", 'effective_date', array('class' => 'required'));
				echo form_input(array('name' => 'effective_date','id' => 'effective_date','class' => 'form-control input-sm datepicker','value'=>'')); 
			?>
		</div> -->
		<div class="col-md-3" style="margin-top: 24px;">
			<button class='btn btn-primary btn-sm' id="add">Add</button>
		<!-- </div>
		<div class="col-md-2" style="margin-top: 24px;"> -->
			<button class='btn btn-primary btn-sm' id="search">Search</button>
		</div>
	</div>
</div>
<div class="row">
	<div style="margin:20px !important; padding:15px;display: none;" id="search_pay_struct_data">	
		<table id="search_pay_struct_table" width="100%" class='table table-hover'></table>
	</div>
</div>

	<!-- margin-top: 20px;position: relative; -->
<div class="row">
	<div style="margin:20px !important; padding:15px;display: none;" id="add_pay_struct_data">
		<table id="add_pay_struct_table" width="70%" class='table table-hover'>
			<thead class="thead-dark">
				<tr>
					<th scope="col">Category</th>
					<th scope="col">From Date</th>
					<th scope="col">To Date</th>
					<th scope="col">Effective Date</th>
					<th scope="col">Day Condition</th>
					<th scope="col" id="day_count_head" style="display:none;">Day Count</th>
					<th scope="col">PF Limit</th>
					<th scope="col">ESI Limit</th>	
					<th scope="col" style="display:none;">Prime Pay Id</th>	
					<th scope="col">Save</th>	
				</tr>
			</thead>
			<tbody>
				<tr>
					<td><select id="category" name="category" class='form-control select2'><?php echo $category_list ?></select></td>
					<td><div class="controls" style="position: relative"><input type='text' id='from_date' name='from_date' value ='' class='form-control input-sm datepicker' placeholder = "From Date" size="5"></div></td>
					<td><div class="controls" style="position: relative"><input type='text' id='to_date' name='to_date' value ='' class='form-control datepicker' placeholder = "To Date" size="5"></div></td>
					<td><div class="controls" style="position: relative"><input type='text' id='effective_date' name='effective_date' value ='' class='form-control datepicker' placeholder = "Effective Date" size="5"></div></td>
					<td><select id="day_condition" name="day_condition" class='form-control select2'><?php echo $day_cond_list ?></select></td>
					<td style="display:none;"><select id="day_count" name="day_count" class='form-control select2'><?php echo $day_count_list ?></select></td>
					<td><select id="pf_limit" name="pf_limit" class='form-control select2'><?php echo $status_list ?></select></td>
					<td><select id="esi_limit" name="esi_limit" class='form-control select2'><?php echo $status_list ?></select></td>
					<td style="display:none;"><div class="controls" style="position: relative;"><input type='hidden' id='prime_id' name='prime_id' value ='0' class='form-control' size="5"></div></td>
					<td><input type='button' id='save' name='save' value = 'Save' class='btn btn-primary btn-sm'></td>
				</tr>
			</tbody>
		</table>
    </div>
</div>
<div id = "ear_ded_button" style = "display: none;margin-bottom:20px">
	<button class='btn btn-primary btn-sm' id="ear_ded_save" name='ear_ded_save'>Save</button>
</div>	
<div class="row" id = "ear_ded_pay_struct_data" style = "display: none;">
	<div class="col-md-7">
		<div style="margin:10px 0px 15px; !important; padding:25px;" id="ear_pay_struct_data">	
		</div>
	</div>
	<div class="col-md-5">
		<div style="margin:10px 0px 15px; !important; padding:25px;" id="ded_pay_struct_data">	
		</div>
	</div>
</div>
<!-- 
<script type="text/javascript" src="dist/excel_xlsx.full.min.js"></script> -->
<script type="text/javascript">
$(document).ready(function (){
	//error through for pay structure filter not mapping 
	// <?php echo $error_info; ?>
	// toastr.options.fadeOut = 3000;
	
	var category_list   = <?php echo json_encode($category_list); ?>;
	var status_list     = <?php echo json_encode($status_list); ?>;
	var day_cond_list   = <?php echo json_encode($day_cond_list); ?>;
	var day_count_list  = <?php echo json_encode($day_count_list); ?>;

	var category_arr    = <?php echo json_encode($category_arr); ?>;
	var status_arr      = <?php echo json_encode($status_arr); ?>;
	var day_cond_arr    = <?php echo json_encode($day_cond_arr); ?>;
	var day_count_arr   = <?php echo json_encode($day_count_arr); ?>;

	$(function(){
		$(".datepicker").datetimepicker({
			format: 'DD-MM-YYYY',
			//debug: true
		});
	});
	$(function(){
		$('.select2').select2({allowClear: true,placeholder: "--- Select ---",});
		$('.select2-tags').select2({
			allowClear: true,
			tags: true,
			placeholder: "--- Select ---",
			tokenSeparators: [',']
		});
		$(".select2_user").select2({
			placeholder: "--- Select ---",
			allowClear: true,
			tags: true
		});
	});

	//from date and to date on change condition
	$("#from_date,#to_date,#effective_date").on("dp.hide",function (e) {
		var from_date          = $('#from_date').val();
		var to_date            = $('#to_date').val();	
		var effective_date     = $('#effective_date').val();
		date_check_validation(from_date,to_date,effective_date);	
	});

	// select_call();
	//autocomplete box
	// $('#wbs_element_val').autocomplete({
	// 	minChars:2,
	// 	autoFocus: true,
	// 	delay:5,
	// 	appendTo: '.append_div',
	// 	source: function (request, response) {
	// 		$.ajax({
	// 			url: '<?php echo site_url("$controller_name/auto_search"); ?>',
	// 			type: 'get',
	// 			data: {term:request.term},
	// 			success: function (data) {
	// 				var rslt = JSON.parse(data);
	// 				response($.map(rslt, function (el) {
	// 					if(el.value === '0'){
	// 						$('#wbs_element_val').val('');
	// 					}else{
	// 						return {
	// 							value: el.value,
	// 							label: el.label,
	// 							display_name:el.display_name
	// 							// display_obj_id:el.display_obj_id
	// 						};
	// 					}
	// 				}));
	// 			}
	// 		});
	// 	},
	// 	select: function(e, ui) {
	// 		e.preventDefault();
	// 		value = ui.item.value;
	// 		label = ui.item.label;
	// 		$('#wbs_element').val(ui.item.value);
	// 		$('#wbs_element_val').val(ui.item.label);
	// 		// $('#object_id').val(ui.item.display_obj_id);
	// 	}
	// });
	//day count restrictions updated
	$("#day_count > option").slice(1,20).remove();

	//day condition on change
	$('#add_pay_struct_table #day_condition').on('change',function(e){
	// $("#day_condition").on('change', function(e){
		var day_condition   = $("#add_pay_struct_table #day_condition").val();
		var change_tab_id   = "#add_pay_struct_table";
		//for variable
		day_cond_hide_show(day_condition,change_tab_id);
	});

	$('#search_pay_struct_table #day_condition').on('change',function(e){
	// $("#day_condition").on('change', function(e){
		var day_condition   = $("#search_pay_struct_table #day_condition").val();
		var change_tab_id   = "#search_pay_struct_table";
		//for variable
		day_cond_hide_show(day_condition,change_tab_id);
	});

	//search  on click function 
	$("#search").on('click', function(e){
		var personal_code  = $('#personal_code').val();
		var wbs_element    = $('#wbs_element').val();
		var position       = $('#position').val();

		// validation_check(personal_code,wbs_element,position);
		if(personal_code && wbs_element && position){
			$("#add_pay_struct_data,#ear_ded_pay_struct_data,#ear_ded_button").hide();
			$("#search_pay_struct_data").show();
			search_pay_structure(personal_code,wbs_element,position);
		}else{
			toastr.error("Personal Area and Wbs Element and Position should not Empty..!");
		}
	});
	$("#add").on('click', function(e){
		var personal_code  = $('#personal_code').val();
		var wbs_element    = $('#wbs_element').val();
		var position       = $('#position').val();

		if(personal_code && wbs_element && position){
			$("#add_pay_struct_data #category,#from_date,#to_date,#effective_date,#day_condition,#day_count,#pf_limit,#esi_limit,#prime_id").val('');
			select_call();
			$("#add_pay_struct_data").show()
			$("#search_pay_struct_data,#ear_ded_pay_struct_data,#ear_ded_button").hide();
		}else{
			toastr.error("Personal Area and Wbs Element and Position should not Empty..!");
		}
	});

	// $("#edit").click(function() {
	// 	//function for save a pay structure
	// 	var click_details      = $(this);
	// 	let action             = "edit";
	// 	save_pay_structure(click_details,action);
	// });

	$("#save").on("click",function() {
		var click_details      = $(this);
		let action             = "save";
		var prime_id           = $(click_details).closest("tr").find("#prime_id").val();
		//function for save a pay structure
		save_pay_structure(click_details,action,prime_id);
	});

	$("#ear_ded_save").on("click",function() {
		let ear_table = $("#ear_pay_struct_data tbody");
		let ded_table = $("#ded_pay_struct_data tbody");
		var ear_obj   = {};
		var ded_obj   = {};

		ear_table.find("tr").each(function(index, element) {
			if($(element).find("td").find("#wage_code").val()){
				ear_obj[index] = {
					wage_code: $(element).find("td").find("#wage_code").val(),
					wage_name: $(element).find("td").find("#wage_name").val(),
					hrms_field_name: $(element).find("td").find("#hrms_field_name").val(),
					amount: $(element).find("td").find("#amount").val(),
					pf_applicable: $(element).find("td").find("#pf_applicable").val(),
					esi_applicable: $(element).find("td").find("#esi_applicable").val(),
					pt_applicable: $(element).find("td").find("#pt_applicable").val(),
					prime_pay_line_id: $(element).find("td").find("#prime_pay_line_id").val(),
					prime_pay_struct_id: $(element).find("td").find("#prime_pay_struct_id").val()
				};
			}
    	});
		ded_table.find("tr").each(function(index, element) {
			if($(element).find("td").find("#wage_code").val()){
				ded_obj[index] = {
					wage_code: $(element).find("td").find("#wage_code").val(),
					wage_name: $(element).find("td").find("#wage_name").val(),
					hrms_field_name: $(element).find("td").find("#hrms_field_name").val(),
					amount: $(element).find("td").find("#amount").val(),
					pf_applicable: "",
					esi_applicable: "",
					pt_applicable: "",
					prime_pay_line_id: $(element).find("td").find("#prime_pay_line_id").val(),
					prime_pay_struct_id: $(element).find("td").find("#prime_pay_struct_id").val()
				};
			}
    	});
		//JSON to string conversion
		var json_ear_obj   = JSON.stringify(ear_obj);
		var json_ded_obj   = JSON.stringify(ded_obj);
		//function for save a pay structure
		save_pay_structure_line(json_ear_obj,json_ded_obj);
	});

	//onclick function for add pf and esi gross based on onclick by a amount and pf and esi yes no option
	$(document).on('focusin', '#amount', function(e){
    	$(this).data('val', $(this).val());
	}).on('change','#amount', function(e){
		var click_id     = $(this).attr("id");
		var click_row    = $(this);
		var old_val      = Number($(this).data("val"));

		//function for save a pay structure
		// add_pf_esi_gross(click_id,click_row,old_val);
	});

	//onclick function for add pf and esi gross based on onclick by a amount and pf and esi yes no option
    $(document).on('change','#pf_applicable,#esi_applicable', function (e) {
		var click_id     = $(this).attr("id");
		var click_row    = $(this);
		var new_val      = $(this).val();
		var old_val      = $(this).attr('data-val');

		$(this).attr('data-val', new_val);
		//function for save a pay structure
		// add_pf_esi_gross(click_id,click_row,old_val);
	});

	$("a.import").click(function(event){
		event.preventDefault();
		var action      = $(this).attr('data-btn-submit');
		var title       = $(this).attr('title');
		var control     = $(this).attr('href');
		var form_id     = "save_import";
		view_form_data(action,title,control,form_id);
	});
});

//save pay structure function
function save_pay_structure(click_details,action,prime_id){
	var status_list     = <?php echo json_encode($status_list); ?>;
	var category_arr    = <?php echo json_encode($category_arr); ?>;
	var status_arr      = <?php echo json_encode($status_arr); ?>;
	var day_cond_arr    = <?php echo json_encode($day_cond_arr); ?>;
	var day_count_arr   = <?php echo json_encode($day_count_arr); ?>;

	var send_url        = '<?php echo site_url("$controller_name/save_pay_structure");?>'
	var personal_code   = $('#personal_code').val();
	var wbs_element     = $('#wbs_element').val();
	var position        = $('#position').val();
	var category        = $(click_details).closest("tr").find("#category").val();
	var from_date       = $(click_details).closest("tr").find("#from_date").val();
	var to_date         = $(click_details).closest("tr").find("#to_date").val();
	var effective_date  = $(click_details).closest("tr").find("#effective_date").val();
	var day_condition   = $(click_details).closest("tr").find("#day_condition").val();
	var day_count       = $(click_details).closest("tr").find("#day_count").val();
	var pf_limit        = $(click_details).closest("tr").find("#pf_limit").val();
	var esi_limit       = $(click_details).closest("tr").find("#esi_limit").val();
	//for only work for edit operation (because we click a edit button then same add table list but data are fetched and table inputs are editable) 
	if(action === "edit"){
		$("#add_pay_struct_data").show();
		$("#search_pay_struct_data").hide();
		if(category_arr){
			$("#add_pay_struct_data #category").val(category_arr[category]);
			category  = category_arr[category];
		}
		$("#add_pay_struct_data #from_date").val(from_date);
		$("#add_pay_struct_data #to_date").val(to_date);
		$("#add_pay_struct_data #effective_date").val(effective_date);
		if(day_cond_arr){
			$("#add_pay_struct_data #day_condition").val(day_cond_arr[day_condition]);
			day_condition   = day_cond_arr[day_condition];
		}
		if(day_count_arr){
			$("#add_pay_struct_data #day_count").val(day_count_arr[day_count]);
			day_count       = day_count_arr[day_count];
		}
		if(status_arr){
			$("#add_pay_struct_data #pf_limit").val(status_arr[pf_limit]);
			$("#add_pay_struct_data #esi_limit").val(status_arr[esi_limit]);
			pf_limit       = status_arr[pf_limit];
			esi_limit      = status_arr[esi_limit];
		}
		$("#add_pay_struct_data #prime_id").val(prime_id);
	}

	//for day condition based hide and show
	var change_tab_id   = "#add_pay_struct_table";
	day_cond_hide_show(day_condition,change_tab_id);
	select_call();

	if(category && from_date && to_date && effective_date && day_condition && pf_limit && esi_limit){
		if(parseInt(day_condition) === 1){
			if(!parseInt(day_count)){
				toastr.error("Please Choose all Fields From Table..!");
				return false;
			}
		}
		$.ajax({
			type: 'POST',
			url: send_url,
			data:{action:action,prime_id:prime_id,personal_code:personal_code,wbs_element:wbs_element,position:position,category:category,from_date:from_date,to_date:to_date,effective_date:effective_date,day_condition:day_condition,day_count:day_count,pf_limit:pf_limit,esi_limit:esi_limit},
			success: function(data) {
				var rslt = JSON.parse(data);
				if(rslt.success){	
					toastr.success(rslt.message);
					$("#ear_ded_pay_struct_data,#ear_ded_button").show();  
					$("#ear_pay_struct_data").html(rslt.ear_table_rslt);  
					$("#ded_pay_struct_data").html(rslt.ded_table_rslt); 
					$("#ear_pay_struct_data .select2").append(status_list); 
					$("#add_pay_struct_data #prime_id").val(rslt.prime_id); 
					// if(action === "edit"){
						var drop_select_arr = rslt.drop_select_arr;
						//for select a pt and esi and pf dropdown data
						$("#ear_pay_struct_data tbody").find("tr").each(function(index, element) {
							var prime_line_id   =  $(element).find("td").find("#prime_pay_line_id").val();
							//only for earnings(formula type 1)
							// if(parseInt(drop_select_arr[prime_line_id]['formula_type']) === 1){
								$(element).find("td").find("#pf_applicable").val(drop_select_arr[prime_line_id]['pf_applicable']);
								$(element).find("td").find("#esi_applicable").val(drop_select_arr[prime_line_id]['esi_applicable']);
								$(element).find("td").find("#pt_applicable").val(drop_select_arr[prime_line_id]['pt_applicable']);
							// }
						});
						//Add readonly option for last two row 
						// table_rows_readonly();
					// }
				}else{
					toastr.error(rslt.message);
				}
			}
		});
	}else{
		toastr.error("Please Choose all Fields From Table..!");
		return false;
	}
	select_call();
}

function save_pay_structure_line(json_ear_obj,json_ded_obj){
	var status_list     = <?php echo json_encode($status_list); ?>;
	var category_arr    = <?php echo json_encode($category_arr); ?>;
	var status_arr      = <?php echo json_encode($status_arr); ?>;
	var send_url = '<?php echo site_url("$controller_name/save_pay_structure_line");?>'
	$.ajax({
		type: 'POST',
		url: send_url,
		data:{ json_ear_obj:json_ear_obj, json_ded_obj:json_ded_obj },
		success: function(data) {
			var rslt = JSON.parse(data);
			if(rslt.success){	
				toastr.success(rslt.message);
				$("#ear_pay_struct_data").html(rslt.ear_table_rslt);  
				$("#ded_pay_struct_data").html(rslt.ded_table_rslt); 
				$("#ear_pay_struct_data .select2").append(status_list); 

				var drop_select_arr = rslt.drop_select_arr;
				//for select a pt and esi and pf dropdown data
				$("#ear_pay_struct_data tbody").find("tr").each(function(index, element) {
					var prime_line_id   =  $(element).find("td").find("#prime_pay_line_id").val();
					//only for earnings(formula type 1)
					// if(parseInt(drop_select_arr[prime_line_id]['formula_type']) === 1){
						$(element).find("td").find("#pf_applicable").val(drop_select_arr[prime_line_id]['pf_applicable']);
						$(element).find("td").find("#esi_applicable").val(drop_select_arr[prime_line_id]['esi_applicable']);
						$(element).find("td").find("#pt_applicable").val(drop_select_arr[prime_line_id]['pt_applicable']);
					// }
    			});
				//Add readonly option for last two row 
				// table_rows_readonly();
			}else{
				toastr.error(rslt.message);
			}
		}
	});
}


//add pf and esi gross based on onclick by a amount and pf esi yes no option
function add_pf_esi_gross(click_id,click_row,old_val){
	var amount          = Number(($(click_row).closest("tr").find("#amount").val()));
	var pf_applicable   = $(click_row).closest("tr").find("#pf_applicable").val();
	var esi_applicable  = $(click_row).closest("tr").find("#esi_applicable").val();
	// var fpf_gross         = parseInt($(click_row).closest("tr").find("#fpf_gross").val());
	// var esi_gross         = parseInt($(click_row).closest("tr").find("#esi_gross").val());
	var table_name      = $(click_row).closest("table").attr("id");

	var len             = $('#'+table_name+' tr').length;
	//code for get a last and before last row 
	var pf_gross_amt    = Number(($('#'+table_name+' tr').eq(len - 2).find("td").find("#amount").val()));
	var esi_gross_amt   = Number(($('#'+table_name+' tr').eq(len - 1).find("td").find("#amount").val()));

	if(click_id){
		var tot_pf_gross_amt   = 0;
		var tot_esi_gross_amt  = 0;
		if(click_id === "amount"){
			var sum_amt        =   amount - old_val;		
			if(pf_applicable === "1"){
				tot_pf_gross_amt   = pf_gross_amt + sum_amt;
				$('#'+table_name+' tr').eq(len - 2).find("td").find("#amount").val(tot_pf_gross_amt);
				$('#'+table_name+' tr').eq(len - 1).find("td").find("#amount").val(tot_esi_gross_amt);
			}
			if(esi_applicable === "1"){
				tot_esi_gross_amt  = esi_gross_amt + sum_amt;
				$('#'+table_name+' tr').eq(len - 2).find("td").find("#amount").val(tot_pf_gross_amt);
				$('#'+table_name+' tr').eq(len - 1).find("td").find("#amount").val(tot_esi_gross_amt);
			}
		}else
		if(click_id === "pf_applicable"){
			if(pf_applicable === "1"){
				tot_pf_gross_amt   = pf_gross_amt + amount;
				$('#'+table_name+' tr').eq(len - 2).find("td").find("#amount").val(tot_pf_gross_amt);
			}else
			if(pf_applicable === "2" && old_val === "1"){
				tot_pf_gross_amt   = pf_gross_amt - amount;
				$('#'+table_name+' tr').eq(len - 2).find("td").find("#amount").val(tot_pf_gross_amt);
			}
		}else
		if(click_id === "esi_applicable"){
			if(esi_applicable === "1"){
				tot_esi_gross_amt   = esi_gross_amt + amount;
				$('#'+table_name+' tr').eq(len - 1).find("td").find("#amount").val(tot_esi_gross_amt);
			}else
			if(esi_applicable === "2" && old_val === "1"){
				tot_esi_gross_amt   = esi_gross_amt - amount;
				$('#'+table_name+' tr').eq(len - 1).find("td").find("#amount").val(tot_esi_gross_amt);
			}
		}		
	}
}

//Add readonly option for last two row 
function table_rows_readonly(){
	var len     = $('#ear_pay_struct_table tr').length;
	$('#ear_pay_struct_table tr').eq(len - 2).each(function(index, element) {
		$(element).find("td").find("#wage_code").attr("readonly","readonly");
		$(element).find("td").find("#wage_name").attr("readonly","readonly");
		$(element).find("td").find("#amount").attr("readonly","readonly");
		$(element).find("td").find("#pf_applicable").attr("readonly","readonly");
		$(element).find("td").find("#esi_applicable").attr("readonly","readonly");
		$(element).find("td").find("#pt_applicable").attr("readonly","readonly");	
	});
	$('#ear_pay_struct_table tr').eq(len - 1).each(function(index, element) {
		$(element).find("td").find("#wage_code").attr("readonly","readonly");
		$(element).find("td").find("#wage_name").attr("readonly","readonly");
		$(element).find("td").find("#amount").attr("readonly","readonly");
		$(element).find("td").find("#pf_applicable").attr("readonly","readonly");
		$(element).find("td").find("#esi_applicable").attr("readonly","readonly");
		$(element).find("td").find("#pt_applicable").attr("readonly","readonly");	
	});
}

function search_pay_structure(personal_code,wbs_element,position){	
	var send_url = '<?php echo site_url("$controller_name/search_pay_structure");?>'
	$.ajax({
		type: 'POST',
		url: send_url,
		data:{personal_code:personal_code,wbs_element:wbs_element,position:position},
		success: function(data) {
			var rslt = JSON.parse(data);
			if(rslt.success){ 
				var table = $('#search_pay_struct_table').DataTable( {
					destroy: true,
					paging : false,
					language:{				                    
						searchPlaceholder: "Search records",
						search: "",
					},
					data: rslt.table_rslt,
					columns: [
						{ title: "Category",data: "category",
							render:function(value) {
								// return "<select id='category' name='category' class='form-control select2' readonly = 'readonly'>"+category_list+"</select>"}},
								return "<input type='text' class='form-control' id='category' name='category' value ='"+value+"' class='form-control' readonly = 'readonly'>"}},
								// return "<span id = 'category'>"+value+"</span>"}},

						{ title: "From Date",data: "from_date", 
							render:function(value) {
								return "<input type='text' class='form-control' id='from_date' name='from_date' value ='"+moment(value ,"YYYY-MM-DD").format('DD-MM-YYYY')+"' class='form-control' readonly = 'readonly'>"}},
								// if (value === null) return '';
				                //     return "<span id = 'from_date'>"+moment(value ,"YYYY-MM-DD").format('DD-MM-YYYY')+"</span>"}},
								
						{ title: "To Date",data: "to_date", 
							render:function(value) {
								// return "<span id = 'to_date'>"+moment(value ,"YYYY-MM-DD").format('DD-MM-YYYY')+"</span>"}},
								return "<input type='text' class='form-control' id='to_date' name='to_date' value ='"+moment(value ,"YYYY-MM-DD").format('DD-MM-YYYY')+"' class='form-control' readonly = 'readonly'>"}},

						{ title: "Effective Date",data: "effective_date", 
							render:function(value) {
								// return "<span id = 'effective_date'>"+moment(value ,"YYYY-MM-DD").format('DD-MM-YYYY')+"</span>"}},
								return "<input type='text' class='form-control' id='effective_date' name='effective_date' value ='"+moment(value ,"YYYY-MM-DD").format('DD-MM-YYYY')+"' class='form-control' readonly = 'readonly'>"}},

						{ title: "Day Condition",data: "day_condition",
							render:function(value) {
								// return "<span id = 'pf_limit'>"+value+"</span>"}},
								return "<input type='text' class='form-control' id='day_condition' name='day_condition' value ='"+value+"' class='form-control' readonly = 'readonly'>"}},
					
						{ title: "Day Count",data: "day_count",id: "day_count_head",
							render:function(value) {
							
								// return "<span id = 'pf_limit'>"+value+"</span>"}},
								return "<input type='text' class='form-control' id='day_count' name='day_count' value ='"+value+"' class='form-control' readonly = 'readonly'>"}},

						{ title: "PF Limit",data: "pf_limit",
							render:function(value) {
								// return "<span id = 'pf_limit'>"+value+"</span>"}},
								return "<input type='text' class='form-control' id='pf_limit' name='pf_limit' value ='"+value+"' class='form-control' readonly = 'readonly'>"}},
								// return "<select id='pf_limit' name='pf_limit' class='form-control select2' readonly = 'readonly'>"+status_list+"</select>"}},

						{ title: "ESI Limit",data: "esi_limit",
							render:function(value) {
								// return "<span id = 'esi_limit'>"+value+"</span>"}},
								return "<input type='text' class='form-control' id='esi_limit' name='esi_limit' value ='"+value+"' class='form-control' readonly = 'readonly'>"}},
								// return "<select id='esi_limit' name='esi_limit' class='form-control select2' readonly = 'readonly'>"+status_list+"</select>"}},

						// { title: "View",data: "prime_id",
						// 	render:function(value) {
						// 		return "<input type='hidden' class='form-control' id='prime_id' name='prime_id' value ='"+value+"' class='form-control'>"}},
						// { title: "View",data: "prime_id",
						// 	render:function(value) {
						// 		return "<input type='button' id='view' name='view' value = 'View' class='btn btn-xs btn-edit' onclick = view_pay_structure($(this),'view',"+value+")>"}},
						{ title: "Edit",data: "prime_id",
							render:function(value) {
								return "<input type='button' id='edit' name='edit' value = 'Edit' class='btn btn-xs btn-edit' onclick = save_pay_structure($(this),'edit',"+value+")>"}}
								// <input type='hidden' class='form-control' id='prime_id' name='prime_id' value ='"+value+"' class='form-control'>
					]
				});	
				$("input[type='search']").addClass('form-control');		
				select_call();    
			}else{
				toastr.error(rslt.message);
			}
		}

	});
}
function view_form_data(action,title,control,form_id){
	$('.modal').modal({backdrop: 'static', keyboard: false});
	$('.modal-body').html('<div style="text-align: center;padding:50px;color:#4b6fa2;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Please wait processing....</div>');
	$.ajax({
		type: 'POST',
		url: control,
		dataType: "html",
		success: function (response){					
			$('.modal-title').html('<h4 class="modal-title">'+title+'</h4>');
			$('.modal-body').html(response);
			var btn_info = '<a class="btn btn-danger" data-dismiss="modal" onclick="close_formfun()">Close</a>';
			if(action === "Submit"){
				btn_info += '<button class="btn btn-primary" id="submit" style="margin-left: 15px;">Submit</button>';
			}
			btn_info = '<div class="col-md-12" style="background-color:#FFFFFF;padding: 10px 20px; text-align: right; border-top: 1px solid #e5e5e5;">'+btn_info+'</div>';
			$('#'+form_id).append(btn_info);
		}
	});
}
function select_call(){
	setTimeout(function(){ 
		$('.select2').select2({allowClear: true,placeholder: "--- Select ---",});
		$('.select2-tags').select2({
			allowClear: true,
			tags: true,
			placeholder: "--- Select ---",
			tokenSeparators: [',']
		});
		$(".select2_user").select2({
			placeholder: "--- Select ---",
			allowClear: true,
			tags: true
		});
	}, 500);
}
//date greater and lesser validation
function date_check_validation(from_date,to_date,effective_date){
	var check_from_date    = moment(from_date, 'DD-MM-YYYY').format('YYYY-MM-DD');	
	var check_to_date      = moment(to_date, 'DD-MM-YYYY').format('YYYY-MM-DD');	
	var check_effect_date  = moment(effective_date, 'DD-MM-YYYY').format('YYYY-MM-DD');	

	if(from_date && to_date){
		if(check_from_date > check_to_date){
			toastr.error("To Date Should be Greater than From Date");
			$('#to_date').val('');
			return false;
		}else{
			if(effective_date){
				if(check_from_date > check_effect_date || check_to_date < check_effect_date){
					toastr.error("Effective Date Choose Only in Between From Date and To Date..!");
					$('#effective_date').val('');
					return false;
				}
			}
		}
	}
}
//date condition hide and show
function day_cond_hide_show(day_condition,change_tab_id){
	if(parseInt(day_condition) === 1){
		$('#day_count_head').show();
		$(''+change_tab_id+' #day_count').parent().show();
		// $('#day_count').removeClass('ignore');
	}else{
		$('#day_count_head').hide();
		$(''+change_tab_id+' #day_count').parent().hide();
		// $('#day_count').addClass('ignore');
		$(''+change_tab_id+' #day_count').val('');
		select_call();
	}
}

</script>
<style>
	.pull-right.search {
		display: none !important;
	}
	.columns.columns-right.btn-group.pull-right {
		display: none !important;
	}

	.floatright {
		float:right;
		display: inline;
	    padding: 0 1.5em;
	}
	.btn-sm {
		width: 50px !important;
	}
	#ear_ded_save {
		position: absolute;
		right: 32px;
	}
	<?php 
		if($access_search === 1){
			echo ".pull-right.search { display: block !important; }";
		}
		if($access_export === 1){
			echo ".columns.columns-right.btn-group.pull-right{display: block !important;}";
		}
	?>
</style>
<?php $this->load->view("partial/footer"); ?>