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_bk/employees/form.php
<?php 
$logged_user_role     = $this->session->userdata('logged_user_role');
$prime_id             = "prime_".$controller_name."_id";
$form_id              = $controller_name."_form";
$access_data    	  = $this->session->userdata('access_data');
$access_deletess  	  = (int)$access_data[$controller_name]['access_delete'];
$access_update    	  = (int)$access_data[$controller_name]['access_update'];
$count                = 0;
$date_exist           = false;
$date_time_exist      = false;
$drop_exist           = false;
$view_count           = 0;
$view_content         = "";
$document_load_script = "";
$validation_rule      = "";
//User Role Based Condition BSK
$user_read_only = "";
if($role_based_condition){
	foreach ($role_based_condition as $key => $condition) {
		if($key === "readonly"){
			if($condition !== ""){
				$condition = str_replace(",", ",#", $condition);
				$user_read_only = "$('#".$condition."').attr('readonly','readonly');";
			}
			
		}
	}
}

//Multipick inputs append to json form data
if($multi_pick){
	$json_multi = "";
	foreach ($multi_pick as $key => $val) {
		$json_multi .= " jsonData['$val'] = $('#".$key."').val();";
	}
}
$readonly_arr    = explode(",",$role_based_condition['readonly'] ?? "");
$multi_pick           = array();
foreach($view_info as $view){
	$prime_form_view_id   = (int)$view->prime_form_view_id;
	$prime_view_module_id = $view->prime_view_module_id;
	$form_view_type       = (int)$view->form_view_type;
	$form_view_type_mode  = (int)$view->form_view_type_mode;
	$form_view_label_name = $view->form_view_label_name;
	$form_view_heading    = ucwords($view->form_view_heading);
	$input_box    		  = "";
	$row_check_input 	  = "";
	$row_prime_id 		  = "prime_".$controller_name."_".$form_view_label_name."_id";
	$row_send_data        = "view_id:'$prime_form_view_id',module_id:'$prime_view_module_id',row_label_name:'$form_view_label_name',row_prime_id:$('#$row_prime_id').val(),prime_id:$('#$prime_id').val(),";
	$row_clear_data       = "$('#$row_prime_id').val(0);\n";
	foreach($form_info as $setting){
		$prime_form_id   = (int)$setting->prime_form_id;
		$field_type      = $setting->field_type;
		$label_id        = $setting->label_name;
		$label_name      = ucwords($setting->view_name);
		$mandatory_field = $setting->mandatory_field;
		$upd_mandatory_field = $setting->upd_mandatory_field;
		$input_for       = (int)$setting->input_for;
		$field_isdefault = (int)$setting->field_isdefault;
		$default_value   =  $setting->default_value;
		$file_type       = $setting->file_type;	
		$extension       = $setting->upload_extension;
		$upload_filesize = $setting->upload_file_size;	
		$pick_table      = $setting->pick_table;
		$pick_list       = $setting->pick_list;
		$input_view_type = (int)$setting->input_view_type;
		$input_for       = (int)$setting->input_for;
		$field_length    = $setting->field_length;
		$text_type       = (int)$setting->text_type;
		$edit_read       = (int)$setting->edit_read;
		// echo ("Ragu:::$edit_read::::$label_id:::: <br/>");
		$depen_pick_list = (int)$setting->dependent_pick_list;
		$depen_pick_input= $setting->dependent_pick_input;
		$table_column1   = $setting->table_column1;
		$table_column2   = $setting->table_column2;
		$prime_module_id = $setting->prime_module_id;
		$pick_display_val = $setting->pick_display_value;
		$required        = "";
		if((int)$mandatory_field === 1){
			$name_append = "";
			$required    = "required";
		}else
		if((int)$upd_mandatory_field === 1){
			$required    = "upd_required";
			//required star symbol show only for update operation
			if((int)$form_view->$prime_id > 0){
				$name_append = '<span style = "color:red !important;" class="updLabel">*</span>';
				$upd_status  = "$('.updLabel').css({'content': '*',
					'position': 'relative',
					'font-size': '18px',
					'top': '5px',
					'left': '10px'});";
			}
		}
		if($form_view->$label_id){
			$input_value = $form_view->$label_id;
		}else{
			$input_value = $default_value;
		}
		$color = "";
		foreach($formula_result as $formula){
			$formula_column = $formula->line_input_bind_to;
			if(strcmp($label_id, $formula_column) == 0){
				$color = "textcolor";
			}
		}
		$formula_count = count($formula_result ?? []);
		if($prime_form_view_id === $input_for){
			/*=================== FORM INPUT PROCESS - START ===================*/
			$form_label = form_label($label_name, $label_id, array('class' => "control-label $required $color"));
			$valid_class = "alpha";
			if(((int)$field_type === 3) ||((int)$field_type === 11)){
				$valid_class = "number";
			}
			if((int)$field_type === 2){
				$valid_class = "decimal_no";
			}						
			//TEXT BOX
			if((int)$field_type === 1){
				if($text_type === 1){
					$valid_class = "alpha_text";
				}else
				if($text_type === 2){
					$valid_class = "alpha";
				}else
				if($text_type === 3){
					$valid_class = "number";
				}
				$input_value = str_replace('^',"'", $input_value);
				$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm $valid_class","autocomplete"=>"off"));
				$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
			}else
			//DECIMALS
			if((int)$field_type === 2){
				$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm $valid_class","autocomplete"=>"off"));
				$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
			}else
			//INTEGER
			if((int)$field_type === 3){
				$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm $valid_class","autocomplete"=>"off"));
				$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
			}else
			//DATE
			if((int)$field_type === 4){
				$date_exist = true;
				$date = "";			
				if(($input_value === "0000-00-00") || ($input_value === "0001-11-30") || ($input_value === "")){
					$date = "";
				}else{
					if($input_value){
						$date = date('d-m-Y',strtotime($input_value));
						if($date === "01-01-1970" && $label_id !== 'date_of_birth'){
							$date = "";
						}
					}else{
						$date = "";
					}					
				}
				if($label_id === "resignation_date"){
					$resignation_date 	= $date;
				}
				if($label_id === "last_working_date"){
					$last_working_date 	= $date;
				}
				$form_input =  form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$date,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm datepicker","autocomplete"=>"off"));
				$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
				
			}else
			//PICKLIST
			if((int)$field_type === 5){
				$drop_exist = true;
				$option_data = $all_pick[$label_id]['array_list'];
				if($label_id === "sap_status"){
					$sap_status = $input_value;
				}
				if($label_id === "position"){
					$position = $input_value;
					$form_dropdown =  form_dropdown(array("name" => $label_id,"id" => $label_id, $read=>true,"class" =>'form-control input-sm select2 tooltip'));
				}else{
				$form_dropdown =  form_dropdown(array("name" => $label_id,"id" => $label_id, $read=>true,"class" =>'form-control input-sm select2 tooltip'),$option_data,$input_value);
				}
		        if(strlen($option_data[$input_value]) > 15){ # ->NB[18-04-2024]
			 		$tooltip_html = "<span class='tooltiptext'>$option_data[$input_value]</span>";
		        }else{
		       		$tooltip_html = "";  
		        }
				$input_box   .= "<div class='form-group'>$form_label $name_append $form_dropdown $tooltip_html</div>";
			}else
			//CHECKBOX
			if((int)$field_type === 6){
				$form_checkbox = form_checkbox(array("name" => $label_id,"id" => $label_id, "value"=> 1, "checked" => ($input_value) ? 1 : 0));
				$input_box .= "<div class='form-group'> <label class='checkbox-inline'> $form_checkbox $name_append $form_label </label></div>";
			}else
			//MULTI PICKLIST
			if((int)$field_type === 7){
				$drop_exist   = true;
				$multi_name   = $label_id."[]";
				$multi_pick[$label_id] = $multi_name;
				$multi_select = explode(',',$input_value ?? "");
				$form_dropdown = form_dropdown(array("name" => $multi_name,"multiple id" => $label_id,"class" =>'form-control input-sm select2'),$all_pick[$label_id]['array_list'] ,$multi_select);
				$input_box .= "<div class='form-group'> $form_label $name_append $form_dropdown</div>";
			}else
			//TEXT AREA
			if((int)$field_type === 8){
				$value = str_replace("~",'"',$input_value);
				$value = str_replace("`","'",$value);
				$value = str_replace("^","&",$value);
				$input_box .= "<div class='form-group'> $form_label $name_append <textarea name='$label_id' id='$label_id' class='form-control' rows='4' placeholder='$label_name'>$value</textarea></div>";
			}else
			//AUTOCOMPLETE
			if((int)$field_type === 9){
				if($label_id === "ifsc_code"){
					if($hidden_value){
						$readonly = "readonly";
					}else{
						$readonly = "";
					}
				}
				if($label_id === "wbs_element"){
					$wbs_element = $input_value;
				}
				$hidden_id        = $label_id."_hidden_".$prime_form_id;
				$hidden_value     = $all_pick[$label_id]['array_list'][$input_value];
				$form_label = form_label($label_name, $hidden_id, array('class' => "control-label $required $color"));
				$form_input   = form_input(array("name"=>$hidden_id, "id"=>$hidden_id,"value"=>$hidden_value,"placeholder"=>"Search ".$label_name, "class"=>"form-control input-sm","readonly"=>$readonly));
				$hidden_input = form_input( array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"type"=>"hidden"));
				if(!in_array($hidden_id,$readonly_arr)){
					$clear_btn  = "<a class='btn btn-xs clear_btn' onClick=clear_autocomplete('$hidden_id','$label_id')>clear</button></a>";
				}else{
					$clear_btn = "";
				}
				$input_box   .= "<div class='form-group'>$form_label $hidden_input $form_input $clear_btn</div>";
			}else
			//FILE UPLOAD
			if((int)$field_type === 10){
				$value       = $input_value;
				$upload_id   = "upload_".$label_id;
				$tabel_id    = "table_".$label_id;
				$upload_old  = "old_".$label_id;
				$proof       = base_url("$value");
				$form_upload = form_upload(array('name' => $upload_id,'id' => $upload_id,'class' => 'form-control input-sm','value' => $input_value,'accept' => $file_type ));
				
				$remove_btn = "";
				$view_btn = "";
				if($value){
					$file_name = explode("/",$value ?? "");
					$file_name = $file_name[2];
					//REMOVE BUTTON ONLY FOR NON MANDATORY FIELD
					if((int)$mandatory_field !== 1){
						$remove_btn = "<a onclick=remove_file('$prime_id','$field_isdefault','$label_id'); style='color: red; cursor: pointer;'><i class='fa fa-times' aria-hidden='true'></i> Remove </a>";
					}
					// $view_btn   = "<a href='$proof' target='_blank' style='cursor: pointer;'>$file_name</a>";
					$file_ext_type  = explode(".", $value ?? "");
					$file_ext_type  = end($file_ext_type);
					$view_btn       = "<a onclick=view_upload_file('".$proof."','".$file_ext_type."'); style='cursor:pointer;color:blue;'> <i class='fa fa-folder-open' aria-hidden='true'></i> View <a>";
				}
				$row_send_data  .= "$upload_old:$('#$upload_old').val(),";
				
				$input_box .= "<div class='form-group'>
								$form_label  $name_append
								<input type='hidden' id='$label_id' name='$label_id' value='$value'>
								<input type='hidden' id='$upload_old' name='$upload_old' value='$value'>
								$form_upload
								<table style='width: 100%;' id='$tabel_id'>
									<tr>
										<td colspan='2'><div class='progress_bar' id='div_$label_id' style='display:none;'><div class='process_percent' id='process_$label_id'>10%</div></div></td>
									</tr>
									<tr>
										<td>$remove_btn</td>
										<td style='text-overflow: ellipsis; overflow: hidden; white-space: nowrap; max-width: 100px;'>$view_btn</td>
									</tr>
								</table>
							 </div>";
			}else
			//MOBILE NUMBER
			if((int)$field_type === 11){
				$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm $valid_class"));
				$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
			}else
			//EMAIL
			if((int)$field_type === 12){
				$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm $valid_class"));
				$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
			}else
			//DATE & TIME
			if((int)$field_type === 13){
				$date_time_exist = true;
				$date = "";
				if($input_value){
					$date = "";
					if($input_value){
						$input_value = date('d-m-Y H:i:s',strtotime($input_value));
						$date = $input_value;
						if($date === "01-01-1970"){
							$date = "";
						}
					}
				}
				$form_input =  form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$date,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm datepicker_time"));
				$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
			}else
			//READ ONLY
			if((int)$field_type === 14){
				$read = '';
				if((int)$form_view->$label_id > 0){
					$read = 'readonly';
				}
				$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"placeholder"=>$label_name, $read => 'true',"class"=>"form-control input-sm $valid_class"));
				$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";

			}else
			// TIME ONLY
			if((int)$field_type === 15){
				if($input_value){
					$time = $input_value;
				}else{
					$time = "00:00";
				}
				$form_input =  form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$time,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm only_time"));
				$input_box .= "<div class='form-group'>$form_label $form_input</div>";
			}
			/*=================== FORM INPUT PROCESS - END ===================*/
			
			/*================ FORM VALIDATION SCRIPT - START ================*/
			$len = "";
			if($field_length){
				$len = "maxlength: $field_length,";
			}
			$required = "";
			if((int)$mandatory_field === 1){
				$required = "required: true,";
			}
			if(($input_view_type === 1) || ($input_view_type === 2)){				
				if((int)$field_type === 1){ //TEXT
					$validation_rule .= "$label_id:{ $required $len },";
				}else					
				if((int)$field_type === 2){ //DECIMALS
					$validation_rule .=  "$label_id:{ $required number: true, $len },";
				}else					
				if((int)$field_type === 3){ //INTEGER
					$validation_rule .=  "$label_id:{ $required number: true, $len },";
				}else					
				if((int)$field_type === 4){ //DATE
					$validation_rule .=  "$label_id:{ $required $len },";
				}else					
				if((int)$field_type === 5){ //PICKLIST
					$validation_rule .=  "$label_id:{ $required $len },";
				}else					
				if((int)$field_type === 6){ //CHECKBOX
					$validation_rule .=  "$label_id:{ $required $len },";
				}else					
				if((int)$field_type === 7){ //MULTI PICKLIST
					$multi_name = $label_id."[]";
					$validation_rule .= '"'.$multi_name.'":"required",'."\n";
				}else					
				if((int)$field_type === 8){ //SUMMARY BOX
					$validation_rule .=  "$label_id:{ $required $len },";
				}else					
				if((int)$field_type === 9){ //AUTO COMPLETE BOX
					$hidden_id    = $label_id."_hidden_".$prime_form_id;
					$validation_rule .= "$hidden_id:{ $required $len },";
				}else					
				if((int)$field_type === 10){ //FILE UPLOAD BOX
					$validation_rule .=  "$label_id:{ $required $len },";
				}else					
				if((int)$field_type === 11){ //MOBILE NUMBER
					$validation_rule .=  "$label_id:{ $required number: true, minlength:$field_length, maxlength:$field_length },";
				}else					
				if((int)$field_type === 12){ //EMAIL
					$validation_rule .=  "$label_id:{ $required email: true, $len },";
				}else					
				if((int)$field_type === 13){ //DATE & TIME
					$validation_rule .=  "$label_id:{ $required $len },";
				}else					
				if((int)$field_type === 14){ //READ ONLY
					$validation_rule .=  "$label_id:{ $required $len },";
				}else
				if((int)$field_type === 15){ //TIME
					$validation_rule .=  "$label_id:{ $required $len },";
				}
			}
			/*================= FORM VALIDATION SCRIPT - END =================*/
			
			/*================= DOCUMENT LOAD SCRIPT - START =================*/

			//ON-LOAD SCRIPT MULTI SELECT REMOVE EMPTY
			if((int)$field_type === 7){
				if(!$form_view->$label_id){
					$document_load_script .= "$('#$label_id option:selected').removeAttr('selected');\n";
				}
			}
			//ON-LOAD SCRIPT FOR SINGLE AUTOCOMPLET BOX
			if((int)$field_type === 9  && $label_id != "wbs_element"){
				$hidden_id = $label_id."_hidden_".$prime_form_id;
				$auto_id  = "#$label_id";
				// $auto_url = site_url("$controller_name/suggest?prime_form_id=$prime_form_id");
				$auto_url 		= site_url("$controller_name/suggest");
				$document_load_script .= "$('#$hidden_id').autocomplete({
						source: function (request, response) {
							var key       = '$encKey'; 
							var encData   = encrypt(key,{term:request.term,prime_form_id:'$prime_form_id'});
							$.ajax({
								url : '$auto_url',
								type: 'POST',
								data: encData,
								success: function (data) {
									var rslt = JSON.parse(data);
									response($.map(rslt, function (el) {
										if(el.value === '0'){
											$('#$hidden_id').val('');
										}else{
											return {
												value: el.value,
												label: el.label,
												display_name:el.display_name
											};
										}
									}));
								}
							});
						},
						minChars:2,
						autoFocus: true,
						delay:10,
						appendTo: '.modal-content',
						select: function(e, ui) {
							e.preventDefault();
							if (ui.item) {
								value = ui.item.value;
								label = ui.item.label;
									$('$auto_id').val(ui.item.value);
									$('#$hidden_id').val(ui.item.display_name);										
								if('$label_id'  === 'ifsc_code'){
									$('#$hidden_id').prop('readonly', true); 
								}
								//DR CODE for UDS WBS BASED and pay strcuture mapped position and activity number data get for fetch
								if('$label_id'  === 'wbs_element'){
									if(ui.item.value){
										wbs_pay_struct(ui.item.value);
									}else{
										$('#project_id').val('');
										$('#network_id').val('');
										$('#position').val('');
										$('#activity_no,#activity_no_hidden_1846').val('');
									}
								}
							}else{
								alert();
								$('$auto_id').val('');
            					$('#$hidden_id').val('');
							}
						}
					});\n";
			}
			//ON-LOAD SCRIPT FILE UPLOAD INPUT BOX
			if((int)$field_type === 10){
				$upload_id   = "upload_".$label_id;
				$check_size  = 2;
				$send_url	 = base_url("$controller_name/upload_files");
				$document_load_script .= "$('#$upload_id').change(function() {
					var file_data         = $('#$upload_id').prop('files')[0];
					var fileName          = file_data.name;
					var size              = file_data.size;
					var type              = file_data.type;
					var key               = '$encKey';
					// Ensure a file was selected
					if (!file_data) {
						toastr.error('No file selected..');
						return;
					}
					const reader      = new FileReader();
					reader.onload     = function(e) {
						const str     = e.target.result.split(',')[1]; // Get Base64 without MIME prefix
						var encData   = encrypt(key,{file_data:str,send_from:'$controller_name',label_id:'$label_id',fileName:fileName,type:type,size:size,send_for:'upload'});
						$.ajax({
							url: '$send_url',
							cache: false,
							contentType: 'text/plain',
							processData: false,
							data: encData,
							beforeSend: function(){
								$('#div_$label_id').show();
								$('#submit').html('<i class=\"fa fa-spinner fa-spin\"></i> Processing...');
								$('#submit').attr('disabled','disabled');
								progress_bar('$label_id');
							},
							type: 'post',
							success: function(result_data){
								var rslt = JSON.parse(result_data);
								if(rslt['success']){
									$('#$label_id').val(rslt['path']);
								}else{
									toastr.error(rslt['msg']);
									$('#$upload_id').val('');
								}
							}
						});
					};
					reader.onerror = function(error) {
						console.error('Error reading file:', error);
					};
					reader.readAsDataURL(file_data); // Read the file as Data URL (Base64)
				});\n";
			}
			//ON-LOAD SCRIPT FOR ROW SET AUTO SAVE PRIMARY FORM			
			if(((int)$input_view_type === 3) && ((int)$form_view->$prime_id === 0) && ((int)$view_count === 0)){
				$view_count++;
				$change_event = "focusout";
				$auto_save_id = $label_id;
				if(((int)$field_type === 4)|| ((int)$field_type === 13)){
					$change_event = "dp.hide"; 
					$auto_save_id = $label_id;					
				}else
				if(((int)$field_type === 5)|| ((int)$field_type === 7)){
					$change_event = "change"; 
					$auto_save_id = $label_id;
				}else
				if((int)$field_type === 9){
					$hidden_id = $label_id."_hidden_".$prime_form_id;
					$auto_save_id = $hidden_id;
				}				
				$document_load_script .= "$('#$auto_save_id').bind('$change_event', function(e) {
							e.preventDefault();
							if($(form_id).valid()){
								$(form_id).submit();
							}else{
								$('#$auto_save_id').val('');
								toastr.clear();
								toastr.error('Please fill all required in previous tab');
								$('.row_btn').hide();
							}
						});\n";
			}
			//ON-LOAD SCRIPT FOR ROW SET AUTO SAVE
			if((int)$input_view_type === 3){
				if((int)$mandatory_field === 1){
					$check_input_id = $label_id;
					if((int)$field_type === 9){
						$hidden_id = $label_id."_hidden_".$prime_form_id;
						$check_input_id = $label_id;
					}
					$row_check_input .= "#$check_input_id,";
				}
				$row_send_data  .= "$label_id:$('#$label_id').val(),";
				
				if((int)$field_type === 6){
					$row_clear_data .= "$('#$label_id').prop('checked', false);\n";
				}else
				if((int)$field_type === 7){
					$row_clear_data .= "$('#$label_id option:selected').removeAttr('selected');\n";
				}else
				if((int)$field_type === 10){
					$row_clear_data .= "$('#$label_id').val('');\n";
					$row_clear_data .= "$('#table_$label_id').html('');\n";
					$row_clear_data .= "$('#upload_$label_id').val('');\n";
				}else{
					$row_clear_data .= "$('#$label_id').val('');\n";
				}
				
				
			}
			/*================== DOCUMENT LOAD SCRIPT - END ==================*/
		}
	}
	if($form_view_type === 1){
		$view_content .= "<h4 class='block_head'>$form_view_heading</h4>
						<div id='$form_view_label_name' class='block_content pd8'>
							$input_box
						</div>";
	}else
	if($form_view_type === 2){
		$count++;
		$tab_active = "";
		$content_active = "";
		if((int)$count === 1){
			$tab_active = "active"; 
			$content_active = "in active"; 
			$view_content .= "<div class='block_content'>
								<ul class='nav nav-tabs' data-tabs='tabs' id='#tabs'>
									@TABLI
								</ul>
								<div class='tab-content' style='padding:8px;'>
									@TABCONTENT
								</div>
							</div>";
		}
		$tab_li .= "<li role='presentation' class='$tab_active'>
						<a data-toggle='tab' href='#$form_view_label_name'>$form_view_heading</a>
					</li>";
		$tab_content .= "<div class='tab-pane fade $content_active' id='$form_view_label_name' >
							<h4 class='tab_head'>$form_view_heading</h4>
							$input_box
						</div>";
						
	}else
	if($form_view_type === 3){
		$div_id        = $row_view_list[$prime_form_view_id]['div_id'];
		$table_id      = $row_view_list[$prime_form_view_id]['table_id'];
		$row_set_view  = $row_view_list[$prime_form_view_id]['row_set_view'];
		$style = "";
		if((int)$form_view->$prime_id === 0){
			$style = "style='display:none;'";
		}
		$submit_btn_id   = "row_save_$prime_form_view_id";
		$cancel_btn_id   = "row_cancel_$prime_form_view_id";
		$row_prime_inupt = form_input( array("name"=>$row_prime_id, "id"=>$row_prime_id,"value"=>0,"type"=>"hidden"));
		$final_div = "";
		if($input_box){
			$final_div = "$row_prime_inupt
							$input_box
							<div class='form-group'>
								<a class='btn btn-xs btn-edit row_btn' id='$submit_btn_id' $style><i class='fa fa-upload' aria-hidden='true'></i> Upload</a>
								<a class='btn btn-xs btn-edit row_btn' id='$cancel_btn_id' $style><i class='fa fa-remove'></i> Clear</a>
							</div>
							<div id='$div_id' class='row_set_div'>
								$row_set_view
							</div>";
		}
		if($form_view_type_mode === 1){
			$view_content .= "<h4 class='block_head'>$form_view_heading</h4>
						<div class='block_content pd8'>
							$final_div
						</div>";
		}else
		if($form_view_type_mode === 2){
			$tab_active = "active"; 
			$content_active = "in active";
			if((int)$count >= 1){
				$tab_active = "";
				$content_active = "";
			}
			$tab_li .= "<li role='presentation' class='$tab_active' id='li_$form_view_label_name'>
							<a data-toggle='tab' href='#$form_view_label_name'>$form_view_heading</a>
						</li>";
			$tab_content .= "<div class='tab-pane fade $content_active' id='$form_view_label_name' >
								<h4 class='tab_head'>$form_view_heading</h4>
								$final_div
							</div>";
		}
		
		$send_url        = site_url("$this->control_name/rowset_save");
		$row_check_input = rtrim($row_check_input,',');
		$row_clear_data  = rtrim($row_clear_data,',');
		$row_send_data   = "{".rtrim($row_send_data,',')."}";
		
		if($row_check_input){
			$row_check_input = "var isValid = true;
								$('$row_check_input').each(function() {
								  if ($(this).val() === '') {
									isValid = false;
									toastr.error('Please fill all required field');
									$(this).addClass('error');
								  }else{
									 $(this).removeClass('error');
								  }
								});
								var key       = '$encKey'; 
								var encData   = encrypt(key,$row_send_data);
								if(isValid){
									$.ajax({
										type: 'POST',
										url: '$send_url',
										data:encData,
										success: function(data) {
											var rslt = JSON.parse(data);
											if(rslt.success){
												toastr.success(rslt.message);
											}else{
												toastr.error(rslt.message);
											}
											$('#submit').attr('disabled',false);
											$('#$submit_btn_id').attr('disabled',false);
											$('#$submit_btn_id').html('Upload');
											$('#'+rslt.row_set_data.div_id).html(rslt.row_set_data.row_set_view);
											$row_clear_data
											$(function(){
												$('.select2').select2({
													placeholder: '---- Select ----',
													allowClear: true,
													dropdownParent: $('.modal-dialog')
												});
												$('.select2-tags').select2({
													tags: true,
													tokenSeparators: [',']
												});
											});	
											$('#'+rslt.row_set_data.table_id).DataTable();
										}
									});
								}";
		}else{
			$row_check_input = "var key       = '$encKey'; 
								var encData   = encrypt(key,$row_send_data);
								$.ajax({
									type: 'POST',
									url: '$send_url',
									data:encData,
									success: function(data) {
										var rslt = JSON.parse(data);
										toastr.success(rslt.message);
										$('#submit').attr('disabled',false); 
										$('#$submit_btn_id').attr('disabled',false);
										$('#$submit_btn_id').html('Upload');
										$('#'+rslt.row_set_data.div_id).html(rslt.row_set_data.row_set_view);
										$row_clear_data
										$(function(){
											$('.select2').select2({
												placeholder: '---- Select ----',
												allowClear: true,
												dropdownParent: $('.modal-dialog')
											});
											$('.select2-tags').select2({
												tags: true,
												tokenSeparators: [',']
											});
										});
										$('#'+rslt.row_set_data.table_id).DataTable();
									}
								});";
		}
		
		$document_load_script .= "var fileuploading = false;
									$('#$submit_btn_id').click(function(){  
										$('#submit').attr('disabled',false);
									if(fileuploading){
        								toastr.error('Please wait for the current upload to finish...');
        								return false;
   									}
									if($('#$upload_id').val() === ''){
										toastr.error('Please Upload file...!!');
										return false;
									}
									fileuploading = true;
									$('#submit').attr('disabled','disabled');
									$('#$submit_btn_id').attr('disabled','disabled');
									$('#$submit_btn_id').html('<i class=\"fa fa-spinner fa-spin\"></i> Processing...');
									$row_check_input
								});\n
								$('#$cancel_btn_id').click(function(){
									$('#submit').attr('disabled',false);
									$row_clear_data
									$(function(){
										$('.select2').select2({
											placeholder: '---- Select ----',
											allowClear: true,
											dropdownParent: $('.modal-dialog')
										});
										$('.select2-tags').select2({
											tags: true,
											tokenSeparators: [',']
										});
									});
								});\n
								$('#$table_id').DataTable();\n";
	}
}
/*============ UDY EMPLOYEE CUSTOME BLOCK ============*/
	/*============ SATHISH EMPLOYEE CUSTOME BLOCK START============*/
	$li_line = "";
	foreach ($all_modules as $menu_name => $submenu_arr){
		$menu_text = ucwords(str_replace("_"," ",strtolower($menu_name)));
		$has_grant = false;
		$sub_line = "";
		foreach ($submenu_arr as $sub_menu_name => $module_arr){
			$submenu_text = ucwords(str_replace("_"," ",strtolower($sub_menu_name)));
			$has_subgrant = false;		
			$tr_line = "";
			foreach ($module_arr as $module){
				$access_add         = $module->access[0]['access_add'];
				$access_update      = $module->access[0]['access_update'];
				$access_delete      = $module->access[0]['access_delete'];
				$access_search      = $module->access[0]['access_search'];
				$access_export      = $module->access[0]['access_export'];
				$access_import      = $module->access[0]['access_import'];
				$grants_menu_id     = $module->access[0]['grants_menu_id'];
				$grants_sub_menu_id = $module->access[0]['grants_sub_menu_id'];
				$module_name        = $module->module_name;
				$join_menu 			= $sub_menu_name.'_'.$menu_name;
				$check_box_input    = form_checkbox("grants[]", $module->module_id, $module->grant, "class='module_$module->module_id'");					
				if((int)$module->menu_id === (int)$grants_menu_id){
					$has_grant = true;							
				}
				if((int)$module->sub_menu_id === (int)$grants_sub_menu_id){
					$has_subgrant = true;							
				}
				if($has_grant){
					$menu_input    = form_checkbox(array("name" =>'menu_id',"class" =>'menu_id',"id" =>$menu_name,"value" => $grants_menu_id, "checked" => true));	
				}else{
					$menu_input    = form_checkbox(array("name" =>'menu_id',"class" =>'menu_id',"id" =>$menu_name,"value" => $grants_menu_id));
				}
				if($has_subgrant){
					$sub_menu_input    = form_checkbox(array("name" =>'sub_menu_id',"class" =>'sub_menu_id',"id" =>$join_menu,"value" => $grants_sub_menu_id,  "checked" => true));
				}else{			
					$sub_menu_input    = form_checkbox(array("name" =>'sub_menu_id',"class" =>'sub_menu_id',"id" =>$join_menu,"value" => $grants_sub_menu_id));
				}
				$add_id          = $module->module_id ."::add";
				$add_checkbox    = form_checkbox(array("name" =>'access[]',"class" =>'module_'.$module->module_id,"value" => $add_id,   "checked" => ($access_add) ? 1 : 0));
				$update_id       = $module->module_id ."::update";
				$update_checkbox = form_checkbox(array("name" =>'access[]',"value" => $update_id, "class" =>'module_'.$module->module_id, "checked" => ($access_update) ? 1 : 0));
				$delete_id       = $module->module_id ."::delete";
				$delete_checkbox = form_checkbox(array("name" =>'access[]',"value" => $delete_id, "class" =>'module_'.$module->module_id, "checked" => ($access_delete) ? 1 : 0));
				$search_id       = $module->module_id ."::search";                                
				$search_checkbox = form_checkbox(array("name" =>'access[]',"value" => $search_id, "class" =>'module_'.$module->module_id, "checked" => ($access_search) ? 1 : 0));
				$export_id       = $module->module_id ."::export";                                
				$export_checkbox = form_checkbox(array("name" =>'access[]',"value" => $export_id, "class" =>'module_'.$module->module_id, "checked" => ($access_export) ? 1 : 0));
				$import_id       = $module->module_id ."::import";                                
				$import_checkbox = form_checkbox(array("name" =>'access[]',"value" => $import_id, "class" =>'module_'.$module->module_id, "checked" => ($access_import) ? 1 : 0));				
				$access_data  = "<div style='padding:8px 15px;border-bottom:1px dashed #CCCCCC;margin-bottom:15px;background-color: #f2f2f2;'>
									<label class='checkbox-inline'> $add_checkbox Add</label>
									<label class='checkbox-inline'> $update_checkbox Update</label>
									<label class='checkbox-inline'> $delete_checkbox Delete</label>
									<label class='checkbox-inline'> $search_checkbox Search</label>
									<label class='checkbox-inline'> $export_checkbox Export Data</label>
									<label class='checkbox-inline'> $import_checkbox Import Data</label>
								 </div>"; 
				$grand_data    = "<label class='checkbox-inline' style='margin-bottom:6px;'>
									$check_box_input  <span class='prime_color'><b>$module_name :</b></span> Add, Update, Delete, and Search $module_name
								</label>";
				$menu_data     = "<label class='checkbox-inline' style='margin-bottom:6px;'>
									$menu_input  <span style='color:#000000;Font-size:16px;'><b>$menu_text</b></span> 
								</label>";
				$sub_menu_data = "<label class='checkbox-inline' style='margin-bottom:6px;'>
									$sub_menu_input  <span style='color:#4DC147;Font-size:14px;'><b>$submenu_text</b></span> 
								</label>";	
				$tr_line .=  "<li>
					$grand_data
					$access_data
				</li>";							
			}
			$tr_line = "<ul id='ul_$join_menu' style='display:none;'>$tr_line</ul>";
			$sub_line .= "<li>	
							$sub_menu_data					
							$tr_line
						</li>";
		}
		$sub_line = "<ul id='ul_$menu_name' style='display:none;'>$sub_line</ul>";		
		$li_line .= "<li>	
						$menu_data					
						$sub_line
					</li>";		
	}
/*============ SATHISH EMPLOYEE CUSTOME BLOCK END============*/
	$read = '';
	if($form_view->user_name){
		$read = 'readonly';
	}
	if($form_view->password){
		$read = 'readonly';
	}
	
	$user_name_label = form_label("User Name", 'user_name', array('class' => "control-label required"));
	$user_name       = form_input(array('name'=>'user_name','id'=>'user_name','class'=>'form-control input-sm',$read => 'true','value'=>$form_view->user_name));
	// $password_label  = form_label("Password", 'password', array('class' => "control-label required"));
	$resend_btn      ="<a class='btn btn-xs btn-primary' id='resend_pass' style='margin-top:7px'><i class='fa fa-repeat' aria-hidden='true'></i> Reset Password</a>";
	if($form_view->$prime_id){
		$place = "*********";
	}else{
		$place = "";
	}
	// $password        = form_password(array('name'=>'password','id'=>'password','class'=>'form-control input-sm','placeholder'=>$place,'value'=>""));
	if((int)$logged_user_role === 1 || (int)$logged_user_role === 2){
		$tab_li     .= "<li role='presentation'>
						<a data-toggle='tab' href='#login'>Login</a>
					</li>";
		$tab_content.= "<div class='tab-pane fade' id='login' >
							<h4 class='tab_head'>Login Information</h4>
							<div class='form-group'>
								$user_name_label
								$user_name
							</div>
							<div class='form-group' stle='display:none;'>
								$password_label
							</div>
							<div style='margin-left:30px;'>
								$resend_btn 
							</div>
						</div>";
		$tab_li     .= "<li role='presentation'>
							<a data-toggle='tab' href='#permission'>Permission</a>
						</li>";
		$tab_content.= "<div class='tab-pane fade' id='permission' >
							<h4 class='tab_head'>Permission Information</h4>
							<ul id='permission_list'>
								$li_line
							</ul>
						</div>";
	}							
	
	/*============ UDY EMPLOYEE CUSTOME BLOCK ============*/
$view_content  = str_replace("@TABLI",$tab_li,$view_content);
$view_content  = str_replace("@TABCONTENT",$tab_content,$view_content);
$form_open     = form_open("$controller_name/save/".$primeId,array("id"=>$form_id,"class"=>"form-inline"));
$form_close    = form_close();
$prime_inupt   = form_input( array("name"=>$prime_id, "id"=>$prime_id,"value"=>$primeId,"type"=>"hidden"));
$formula_text ="";
if((int)$formula_count > 0){
	$formula_text = "<p style='color:blue;'>Blue color text is Formula Column.</p>";
}
//upload pdf file viewed popup
$upload_div 	= "<div class='modals' id='myModal' style='display:none;'>
					<div class='modals-dialogs'>
					    <div class='modals-content'>
					      <div class='modals-header'>
					        <h4 class='modals-title'>View PDF</h4>
					        <a class='close view_pdf_close' onclick='close_popup_div();'>&times</a>
					      </div>
					      <div class='modals-body' id='view_pdf'>
					      </div>
					      <div class='modals-footer'>
					        <a class='btn btn-danger' value='Close' id='popup_close' onclick='close_popup_div();'>Close</a>
					      </div>
					    </div>
					  </div>
					</div>";
echo "$form_open
		<fieldset id='FundBasicInfo' style='margin:0px;padding:8px;background-color:#f2f2f2;'>
			<div id='flip' style='color: red;font-weight: bold;cursor:pointer;'>Click to View SAP Validation
			</div>
			<div id='panel'>
				<table id='view_table' style='width:100%' class='table table-hover'></table>
			</div>	
			$prime_inupt
			$view_content
			$formula_text
			$upload_div
		</fieldset>
	$form_close";
	

?>
<script type="text/javascript">
$(document).ready(function(){
	//WBS AUTOCOMPLETE STATIC !!!
	var personal_code = $("#personal_code").val();
	$("#personal_area").on('change', function() {
		$("#wbs_element_hidden_1944").autocomplete("search", "");  //NB[20-09-23]
	});
	$('#wbs_element_hidden_1944').autocomplete({
	  	source: function(request, response){
	    	var personalCode = $("#personal_code").val();
	    	$.getJSON('<?php echo site_url("$controller_name/wbs_suggest");?>',{
	    	  	term: request.term,
	    	  	personal_code: personalCode
	    	}, response);
	  	},
	  	minLength: 3,
	  	autoFocus: true,
	  	scroll: true,
	  	appendTo: '.modal-content',
	  	select: function(e,ui){
	  	 	$('#wbs_element_hidden_1944').val(ui.item.value);
	  	 	$('#wbs_element').val(ui.item.value);
	  	 	$('#wbs_element_hidden_1944').prop('readonly', true);
	  	 	wbs_pay_struct(ui.item.value);
	  	 	project_pay_struct(personal_code,ui.item.value);
	  	 	return false;
	  	}
	});

	//TOOLTIP ONCHANGE
	$('.tooltip').on('change', function(){
		var value = $(this).val();
		if(value){
		    var selected_val = $(this).find('option:selected').text();
	    	$(this).siblings('.tooltiptext').text(selected_val); 
		}else{
			$(this).siblings('.tooltiptext').text(''); 
		}
	});

	// VIEW INFO PROCESS QUERY ERROR THROWING
	var module_sts    = <?php echo json_encode($module_sts); ?>;
	if(!module_sts){
		toastr.warning('View Info Query Process Error...!');
		return false;
	}
	// PAGE INFO PROCESS QUERY ERROR THROWING

	get_permission();	
	var prime_id         = "#<?php echo $prime_id;?>";
	var form_id          = "#<?php echo $form_id;?>";
	var date_exist       = "<?php echo $date_exist;?>";
	var date_time_exist  = "<?php echo $date_time_exist;?>";
	var drop_exist       = "<?php echo $drop_exist;?>";
	var view_id          = "<?php echo $form_view->$prime_id; ?>";
	var user_right       = "<?php echo $logged_user_role; ?>";
	var unique_lables    = '<?php echo $unique_lables; ?>';
	var sap_status       = "<?php echo $sap_status; ?>";
	var wbs_element      = "<?php echo $wbs_element; ?>";
	var position         = "<?php echo $position; ?>";
	position_gross(wbs_element,position);
	<?php echo $user_read_only;
		// echo $name_append; 
	echo $upd_status; ?>
	var wbs_element      = parseInt($('#wbs_element').val());
	if(wbs_element === 0){
		$('#wbs_element_hidden_1944').val('');
	}
	if(drop_exist === "1"){
		$(function(){
			$('.select2').select2({
				placeholder: '---- Select ----',
				allowClear: true,
				dropdownParent: $('.modal-dialog')
			});
			$('.select2-tags').select2({
				tags: true,
				tokenSeparators: [',']
			});
		});
	}
	//EMP NAME ->PASTE
	$("#emp_name").on("input paste", function() {
      $(this).valid(); 
    });
	//GENDER BASED FATHER NAME READONLY
	var gender = $("#gender").val();
	gen_relation(gender);
	$("#gender").change(function(){
		var gender = $("#gender").val();
		gen_relation(gender);
	});

	//esi eligibility hide show
/*	var esi_eligibility = $("#esi_eligibility").val();
	esi_eligibility_hide_show(esi_eligibility);
	$("#esi_eligibility").change(function(){
		var esi_eligibility = $("#esi_eligibility").val();
		esi_eligibility_hide_show(esi_eligibility);
	});
	//PF Eligibiity hide show
	var pf_eligibility = $("#pf_eligibility").val();
	pf_eligibility_hide_show(pf_eligibility);
	$("#pf_eligibility").change(function(){
		var pf_eligibility = $("#pf_eligibility").val();
		pf_eligibility_hide_show(pf_eligibility);
	});*/

	//Bank Acc No change then kyc required.
	var prev_bank_acc_no = $("#bank_account_number").val();
	var prev_ifsc_code   = $("#ifsc_code_hidden_329").val();
	$("#bank_account_number").on("input", function(){
		var curr_bank_acc_no = $(this).val();
        if(parseInt(curr_bank_acc_no) !== parseInt(prev_bank_acc_no)){
            $("#upload_kyc_document").prop("required", true);   
			$('#row_cancel_304').hide();
        }else{
            $("#upload_kyc_document").prop("required", false);
        }
        prev_bank_acc_no = curr_bank_acc_no;  // Update the previous value
	});
	//IFSC change.
	$("#ifsc_code_hidden_329").on("change", function(){
		var curr_ifsc_code = $(this).val();
        if(parseInt(curr_ifsc_code) !== parseInt(prev_ifsc_code)){
            $("#upload_kyc_document").prop("required", true);
			$('#row_cancel_304').hide();
        }else{
            $("#upload_kyc_document").prop("required", false);
        }
        // Update the previous value
        prev_ifsc_code = curr_ifsc_code;
	});

	$("#upload_kyc_document").on("change",function(){
		var file_data  = $('#upload_kyc_document').prop('files')[0];
		if(file_data){
			$("#upload_kyc_document").prop("required", false);
		}else{
			$("#upload_kyc_document").prop("required", true);
			$('#submit').attr('disabled',true);
		}
	});
	
	//username updated
	if(parseInt(view_id) > 0){
		var employee_code = $('#employee_code').val();
		$('#user_name').val(employee_code);
	}else{
		$('#user_name').val('');
	}

	var date = new Date();
	var currentMonth = date.getMonth();
	var currentDate = date.getDate();
	var currentYear = date.getFullYear();

/*	$("#stop_payment_type").change(function(){
		stop_payment = $('#stop_payment_type').val();
		if(parseInt(stop_payment) != 3){
			$('#stop_pay_status').val(1);
			select_option();
		}else{
			$('#stop_pay_status').val(0);
			select_option();
		}
	});*/
	
	$('#user_name').attr('readonly', true);
	if(date_exist === "1"){
		$(function () {
			$(".datepicker").datetimepicker({
				format: 'DD-MM-YYYY',
				//debug: true
			});
		});
	}
	$("#stop_pay_month").datetimepicker({
		format: 'MM-YYYY',
		//debug: true
	});
	
	//DOJ restrictions updated--12-09-2019--only new entry updates
	//DOB and DOJ Between 14 Years difference findout
	<?php 
		$curr_date = date("Y-m-d");
		$dob_date  = date("Y-m-d",strtotime("-14 year"));
	?>
	var today         = moment(new Date(), 'DD-MM-YYYY').format('YYYY-MM-DD');
	<?php if($form_view->$prime_id == "") {?>
		$("#date_of_wedding").datetimepicker({
			format: 'DD-MM-YYYY',
			maxDate: moment(today),
		}).val('');
		
		$("#date_of_joining").datetimepicker({
			format: 'DD-MM-YYYY',
			maxDate: moment(today)
		}).val('');
	<?php } ?>

	$('textarea').on('keyup keypress', function(e) {
		if(e.keyCode === 13) {    
			e.stopPropagation();
		}else
		if(e.shiftKey){
			e.stopPropagation();
		}
	});	

	$("#year_of_passing").datetimepicker({
		format: 'YYYY',
	});
	$(".number").bind('keyup', function(e){
		this.value = this.value.replace(/[^0-9_.]/g,'');
	});
	$('.alpha').bind('keypress', function (event){
		var regex = new RegExp("^[a-zA-Z0-9\-_.@\/\\s]+$");
		var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
		if (!regex.test(key)) {
		   event.preventDefault();
		   return false;
		}
	});
	
	$(".alpha_text").keypress(function(event){
		var regex = new RegExp("^[a-zA-Z\\s]+$");
        var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
        if (!regex.test(key)) {
            event.preventDefault();
			return false;
		}
	});
	
	/*$("#pan_number").change(function(){
		var inputvalues = $(this).val();
		var regex = /[A-Z]{5}[0-9]{4}[A-Z]{1}$/;
		if(!regex.test(inputvalues)){
			$("#pan_number").val("");
			toastr.error("Please enter valid pan number");
			return regex.test(inputvalues);
		}
	});*/
	
	$.validator.setDefaults({ignore:[]});	
	$.validator.addMethod("alphanumeric", function(value, element){
		return this.optional(element) || /^[a-z0-9\-\s]+$/i.test(value);
	}, "Allow only letters, numbers, or dashes.");
	$.validator.addMethod("pan_number", function(value, element){
		return this.optional(element) || /[A-Z]{5}[0-9]{4}[A-Z]{1}$/.test(value);
	}, "Please enter valid PAN Number.");
	
	$(form_id).submit(function(event){  event.preventDefault(); }).validate({
        ignore: ".ignore",
       // ignore: ":hidden",
        invalidHandler: function(e, validator){
        	if(validator.errorList.length)
            $('.nav-tabs a[href="#' + $(validator.errorList[0].element).closest(".tab-pane").attr('id') + '"]').tab('show');
        },
		rules:{
			<?php echo $validation_rule; ?>
			user_name: "required",
			password:
			{
				<?php
				if($form_view->$prime_id == "")
				{
				?>
				required:true,
				<?php
				}
				?>
				minlength: 4
			},
			emp_name:
			{
				alphatext :true
			},
			mobile_number:
			{
				mobile :true
			},
			pan_number:
			{
				pan_number :true
			}
		},
		submitHandler: function (form){
			$("#submit").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
			$('#submit').attr('disabled','disabled');			
			//Encrypted
			let formData           = new FormData(form);
			// Convert FormData to JSON object
			let jsonData           = Object.fromEntries(formData.entries());
			var grants_arr         = [];
			var access_arr         = [];
			var i = 0;
			$('input[name="grants[]"]:checkbox:checked').each(function (a , b) {
				grants_arr[a]      = b.value;
			});
			$('input[name="access[]"]:checkbox:checked').each(function (a , b) {
				access_arr[a]      = b.value;
			});

			jsonData['grants']     = grants_arr;
			jsonData['access']     = access_arr;
			<?php echo $json_multi; ?>;
			var encKey             = '<?php echo $encKey; ?>';
			var encData            = encrypt(encKey,jsonData);
			$.ajax({
				type: "POST",
				url: '<?php echo site_url("$controller_name/save"); ?>',
				data:encData,				
				contentType: 'text/plain',
				success: function (response){
					$('#submit').attr('disabled',false);
					$("#submit").html("Submit");
					if(response.success){
						$(prime_id).val(response.insert_id);
						if(response.code_exist === 1){
							toastr.success('This Employee code is Already Exist... Your Employee Code is  '+response.emp_code);
						}else{
							$("#flip,#panel").hide();
							toastr.success(response.message);
						}	
						$('.modal').modal('hide');
						$('.row_btn').show();
						$('#table').DataTable().ajax.reload();
					}else{
						if(response.category_status){
							$('#role,#employee_code').val('');
							select_option();
						}
						if(response.check === "Procedure"){
							datatable_struct_create(response.table_info);
						}
						toastr.error(response.message);
					}	
				},
				dataType: 'json'
			});			
		}

	});
	/* LOAD SCRIPT AND CONDITION LOAD */
	<?php	
		echo "$document_load_script";
		foreach($condition_list as $list){
			echo $list;
		}
	?>
	/* LOAD SCRIPT AND CONDITION LOAD */
	
	/* LOAD SCRIPT AND CONDITION LOAD */
	//DOB ONCHANGE 	
	$('#date_of_birth').on("dp.hide",function (e) {
		prime_id = '<?php echo $form_view->$prime_id; ?>';
		var dob = $('#date_of_birth').val();
		var doj = $('#date_of_joining').val();
		date_diff_cal(prime_id,doj,dob);
	});

	//DOJ ONCHANGE 	
	$('#date_of_joining').on("dp.hide",function (e) {
		prime_id = '<?php echo $form_view->$prime_id; ?>';
		var date_of_joining = $('#date_of_joining').data("DateTimePicker").date().format('DD-MM-YYYY');
		if(date_of_joining){
			$('#password').val(date_of_joining);
			$('#pf_confirm_date').val(date_of_joining);
		}
		var dob = $('#date_of_birth').val();
		var doj = $('#date_of_joining').val();
		date_diff_cal(prime_id,doj,dob);
	});

/*	$('#retirement_years').on("change",function(e){
		var dob     = $('#date_of_birth').val();
		if(dob === ""){
			toastr.error("Date of Birth Should not Empty");
			$('#emp_age').val('');
			$('#retirement_date').val('');
			$('#retirement_years').val('');
		}
	});*/
	
	$('.datepicker').on("dp.hide",function (e) {
		var dob             = $('#date_of_birth').val();
		var doj             = $('#date_of_joining').val();
		var prev_date       = $('#previous_from_date').val();
		var retire_date     = $('#retirement_date').val();
		if(dob === ""){
			$('#emp_age').val('');
			$('#retirement_date').val('');
			$('#retirement_years').val('');
		}
		if(doj === ""){
			$('#confirmation_date').val('');
		}
		if(prev_date === ""){
			$('#past_to_date').val('');
		}
		
		var date_of_joining = moment(doj, 'DD-MM-YYYY').format('YYYY-MM-DD');
		var retirement_date   = moment(retire_date, 'DD-MM-YYYY').format('YYYY-MM-DD');
		if(retirement_date){
			if(date_of_joining > retirement_date){
			var retirement_years = $('#retirement_years').val();
				if(parseInt(retirement_years) !==0){
					toastr.error("Date of joining is less than Retirement Year, change the date?");
					$('#submit').attr('disabled','disabled');
				}else{
					$('#submit').attr('disabled',false);
				}
			}
		}
	});
	
	var old_role = $("#role").val();
	if(old_role === "4"){
		$("#aadhar_card_no").addClass('ignore');
	}else{
		$("#aadhar_card_no").removeClass('ignore');
	}
	$("#role").change(function(){
		var view_id  = "<?php echo $form_view->$prime_id; ?>";
		var role     = $("#role").val();
		if(view_id === ""){
			get_employee_code(role);
			if(role === "4"){
				$("#aadhar_card_no").addClass('ignore');
			}else{
				$("#aadhar_card_no").removeClass('ignore');
			}
		}else
		if(view_id){
			//CHECK LOAN INSTALLMENT
			var employee_code = $("#employee_code").val();
			// Encryption
			var encKey  = '<?php echo $encKey; ?>';
			var data    = {employee_code:employee_code};
			var encData = encrypt(encKey,data);
			$.ajax({
				type: "POST",async: false,
				url: '<?php echo site_url("$controller_name/check_loan_installment"); ?>',
				data:encData,				
				contentType: 'text/plain',
				success: function(data) {
					var rslt = JSON.parse(data);
					// ;
					if(rslt.success){
						$.confirm({
							content: 'Are you sure you want to change this Category?',
							escapeKey: 'Yes',
							onOpenBefore: function () {
							},
							buttons: {
								Yes: function(){
									//get_employee_code(role);
									if(role === "4"){
										$("#aadhar_card_no").addClass('ignore');
									}else{
										$("#aadhar_card_no").removeClass('ignore');
									}
								},
								No: function(){
									$("#role").val(old_role);
									select_option();
								}
							}
						});
					}else{
						toastr.warning('Please Update the loan foreclose and try again!');
						$("#role").val(old_role);
						select_option();
					}
				}
			});			
		}
	});	
	
	$("#user_right").change(function(){	
		var user_right = $("#user_right").val();
		$.confirm({
			content: 'Are you sure you want to change this rights?',
		    escapeKey: 'Yes',
		    buttons: {
		        Yes: function(){
						get_permission_list(user_right);
		        	},
		        No: function(){
		        	$("#user_right").val('<?php echo $form_view->user_right; ?>');
					$(function(){
						$('.select2').select2({
							placeholder: '---- Select ----',
							allowClear: true,
							dropdownParent: $('.modal-dialog')
						});
						$('.select2-tags').select2({
							tags: true,
							tokenSeparators: [',']
						});
					});
		        }
		    }
		});
	});
	
	
	//Permission Hide Show
	$(document).on("click","input[name = 'menu_id']",function() {
		var menu_id = $(this).attr('id');
		var menu_id = 'ul_'+menu_id;
		if ($(this).is(':checked')) {
			$('ul #'+menu_id).show();
			if(!$('ul #'+menu_id).find('b').html()){
				$('ul #' + menu_id + ' :checkbox').prop('checked', true);
				$('ul #' + menu_id ).find("input[name = 'sub_menu_id']").prop('checked', true);
				$('ul #' + menu_id ).find("input[name = 'sub_menu_id']").show();
				var sub_menu_id = $('ul #' + menu_id ).find("input[name = 'sub_menu_id']").attr('id');
				var sub_menu_id = 'ul_'+sub_menu_id;
				$('ul #'+sub_menu_id).show();
			}
		}else{
			$('ul #'+menu_id).hide();
		}
	});
	//$("input[name = 'sub_menu_id']").click(function(){
	$(document).on("click","input[name = 'sub_menu_id']",function(){
		var sub_menu_id = $(this).attr('id');
		var sub_menu_id = 'ul_'+sub_menu_id;
		if ($(this).is(':checked')) {
			$('ul #'+sub_menu_id).show();
			 $('ul #' + sub_menu_id + ' :checkbox').prop('checked', true);
		}else{
			$('ul #'+sub_menu_id).hide();
			$('ul #' + sub_menu_id + ' :checkbox').prop('checked', false);
		}
	});
	$(document).on("click","input[name = 'grants[]']",function() {
		var module_class = $(this).attr('class');
		if ($(this).is(':checked')) {
			$('.'+module_class).prop('checked', true);
		}else{
			$('.'+module_class).prop('checked', false);
		}		
	});
	$('#employee_code').on("focusout", function(){
		var employee_code = $('#employee_code').val();
		$('#user_name').val(employee_code);
		var send_url = '<?php echo site_url("$controller_name/employee_code_exit"); ?>';
		var view_id  = "<?php echo $form_view->$prime_id; ?>";
		if(employee_code){
			// Encryption
			var encKey  = '<?php echo $encKey; ?>';
			var data    = {employee_code:employee_code,view_id:view_id};
			var encData = encrypt(encKey,data);
			$.ajax({
				type: "POST",
				url: send_url,
				data:encData,				
				contentType: 'text/plain',
				success: function(data) {
					var rslt = JSON.parse(data);
					if(rslt.success){
						$('#submit').attr('disabled',false);
						toastr.success(rslt.message);
					}else{
						$('#submit').attr('disabled','disabled');
						$('#employee_code').val('');
						toastr.error(rslt.message);
					}
				}
			
			});
		}else{
			$('#submit').attr('disabled',false);
		}
    });
	
	//remove --select -- options
	$('#language_proficiency option').filter(function(){
			return !this.value || $.trim(this.value).length == 0;
	}).remove();
	
	
	//Date based validations -- start
	var last_resign_date     = '<?php echo $resignation_date; ?>';
	var previous_date        = $('#resignation_date').val();
	var pre_seperation_type  = $('#separation_type').val();
	//resignation date check with validations -- 13SEP2019
	$('#resignation_date').on("dp.hide",function (e) {
		e.preventDefault();
		// $('#submit').attr('disabled','disabled');
		var today             = moment(new Date(), 'DD-MM-YYYY').format('YYYY-MM-DD');
		var doj               = $('#date_of_joining').val();
		var date_of_joining   = moment(doj, 'DD-MM-YYYY').format('YYYY-MM-DD');
		var resignation_date  = $('#resignation_date').val();
		
		if(resignation_date){
			//var last_resign_date  = moment(last_resign_date, 'DD-MM-YYYY').format('YYYY-MM-DD');
			var resign_date       = moment(resignation_date, 'DD-MM-YYYY').format('YYYY-MM-DD');
			var role              = $('#role').val();
			if(resign_date < date_of_joining){
				$('#resignation_date,#separation_type').val('');
				$('#termination_status').val(0);	
				select_option();
				toastr.error("Resignation date not less than date of joining, please choose another date?");
				return false;
			}
			if(today < resign_date){
				$('#resignation_date,#separation_type').val('');
				$('#termination_status').val(0);	
				select_option();
				toastr.error("Resignation date not allowed greater than today date?");
				return false;
			}
        	if(resignation_date !== last_resign_date){
				// Encryption
				var encKey  = '<?php echo $encKey; ?>';
				var data    = {resignation_date:resignation_date,role:role};
				var encData = encrypt(encKey,data);
				$.ajax({
					type: "POST",
					url: '<?php echo site_url("$controller_name/check_payroll"); ?>',
					data:encData,				
					contentType: 'text/plain',
					beforeSend: function () {
						$('#submit').attr('disabled','disabled');
					},
					success: function(data) {
						var rslt = JSON.parse(data);
						if(rslt.success){
							$.confirm({
							    title: 'Confirm!',
							    content: 'Are You Sure this Employee was Resigned?',
							    type: 'red',
							    animationSpeed: 200,
							    buttons:{
							        tryAgain:{
							            text: 'Yes',
							            btnClass: 'btn-red',
							            action: function(){
											// Encryption
											var encKey  = '<?php echo $encKey; ?>';
											var data    = {resignation_date: resignation_date, role: role };
											var encData = encrypt(encKey,data);
							                $.ajax({
							                    type: "POST",
							                    url: '<?php echo site_url("$controller_name/check_payroll"); ?>',
												data:encData,				
												contentType: 'text/plain',
							                    beforeSend: function(){
							                        $('#submit').attr('disabled', 'disabled');
							                    },
							                    success: function(data){
							                        $('#termination_status').val(1).trigger('change');
							                        toastr.success(rslt.message);
							                        $('#submit').attr('disabled',false);
							                    }
							                });
							            }
							        },
							        No: function(){
							            $('#separation_type').val(pre_seperation_type).trigger('change');  
							            $('#resignation_date').val(previous_date); 
							            $('#termination_status').val(0);
							            $('#submit').attr('disabled',false);
							        }
							    }
							});
							last_resign_date = resignation_date;
						}else{
							$('#resignation_date,#separation_type').val('');
							$('#termination_status').val(0);	
							select_option();
							toastr.warning(rslt.message);
						}
					}
				});
			}
		}else{
			$('#resignation_date,#separation_type').val('');
			$('#termination_status').val(0);
			select_option();	
			$('#submit').attr('disabled',false);
		}		
	});
	
	$("#separation_type").change(function(){
		var role 			= $('#role').val();
		var separation_type = $('#separation_type').val();
		if(separation_type){
			var resignation_date = $('#resignation_date').val();
			if(resignation_date){
				// Encryption
				var encKey  = '<?php echo $encKey; ?>';
				var data    = {resignation_date:resignation_date,role:role };
				var encData = encrypt(encKey,data);
				$.ajax({
					type: "POST",
					url: '<?php echo site_url("$controller_name/get_last_working"); ?>',
					data:encData,				
					contentType: 'text/plain',
					success: function(data) {
						var rslt = JSON.parse(data);
						if(rslt.success){
							$('#last_working_date').val(rslt.notice_day);
							$('#termination_status').val(1);
						}else{
							toastr.error(rslt.msg);
							$('#last_working_date').val('');
							$('#separation_type').val('');							
						}
						select_option();
					}				
				});
			}else{
				$('#separation_type').val('');
				toastr.error("Resignation Date Should Not be Empty.!");
			}
		}
	});
	
	//seperation date check with validations -- 13SEP2019
	$('#last_working_date').on("dp.hide",function (e) {
		var today             = moment(new Date(), 'DD-MM-YYYY').format('YYYY-MM-DD');
		var doj  = $('#date_of_joining').val();
		var date_of_joining   = moment(doj, 'DD-MM-YYYY').format('YYYY-MM-DD');
		var last_working_date = $('#last_working_date').val();
		var last_date   = moment(last_working_date, 'DD-MM-YYYY').format('YYYY-MM-DD');
		if(last_date <= date_of_joining){
			toastr.error("Seperation date not less than date of joining, please choose another date?");
			$('#last_working_date').val('');
		}
		if(today < last_date){
			toastr.error("Last working date not allowed greater than today date?");
			$('#last_working_date').val('');
		}
	});
	
	
	//family date check and validations  -- 13SEP2019
	$('#family_date_of_birth').on("dp.hide",function (e) {
		var family_birth_date = $('#family_date_of_birth').val();
		var today             = moment(new Date(), 'DD-MM-YYYY').format('YYYY-MM-DD');
		var family_date       = moment(family_birth_date, 'DD-MM-YYYY').format('YYYY-MM-DD');
		if(today < family_date){
			toastr.error("Date of Birth not allowed greater than today date?");
			$('#family_date_of_birth').val('');
		}
	});
	
	//Date based validations -- end
	//Pincode Empty updated
	<?php if($form_view->$prime_id == ""){ ?>
		$('#pin_code').val('');
		$('#present_pin_code').val('');
	<?php }else{?>
		var pin_code = $('#pin_code').val();
		var present_pin_code = $('#present_pin_code').val();
		if(pin_code == 0){
			$('#pin_code').val('');
		}
		if(present_pin_code == 0){
			$('#present_pin_code').val('');
		}
	<?php } ?>
	
	//Disable Auto Fetch
	<?php 
	if($form_view->$prime_id == ""){?>
		$('.datepicker').val('');
	<?php }	?>
	
	$("#pf_eligibility").change(function(){
		var pf_eligibility = $('#pf_eligibility').val();
		if(parseInt(pf_eligibility) === 1){
			pf_acc_show_all();
		}else{
			pf_acc_hide_all();
		}
	});

	//professional tax location based range is checking
	$("#professional_tax_location").change(function(){
		var tax_loc = $('#professional_tax_location').val();
		if(tax_loc){
			// Encryption
			var encKey  = '<?php echo $encKey; ?>';
			var data    = {tax_loc:tax_loc };
			var encData = encrypt(encKey,data);
			$.ajax({
				type: "POST",
				url: '<?php echo site_url($controller_name . "/tax_range_check"); ?>',
				data:encData,				
				contentType: 'text/plain',
				success: function(data) {
					var rslt = JSON.parse(data);
					if(!rslt.success){
						toastr.error(rslt.msg);
						$('#professional_tax_location').val('0');
						select_option();
					}
				},
			});
		}
	});
	
	//date of wedding restrictions start date of birth and martial status based to updates
	$('#date_of_wedding').on("dp.hide",function (e) {
		var martial_sts = $('#marital_status').val();
		var dob         = $('#date_of_birth').val();
		var dow         = $('#date_of_wedding').val();	
		if(parseInt(martial_sts) === 1 && dob.length !=0){
			var dob_date          = moment(dob, 'DD-MM-YYYY').format('YYYY-MM-DD');
			var dow_date          = moment(dow, 'DD-MM-YYYY').format('YYYY-MM-DD');
			if(dow_date <= dob_date){
				toastr.error("Date of wedding is not less than date of birth?");
				$('#date_of_wedding').val('');
			}
		}else
		if(dow.length !=0){
			toastr.warning("Please check martial status and date of birth of employee?");
		}
	});
	
	//Maritial status hide and show --MRJ-start 18FEB2020
	var marital_status = $('#marital_status').val();
	if(parseInt(marital_status) === 1){
		show_all();
	}else{
		hide_all();
	}
	$('#marital_status').on("change",function(e){
		var marital_status = $('#marital_status').val();
		if((parseInt(marital_status) === 2) || (marital_status == '')){
			hide_all();
		}else{
			show_all();
		}
	});
	//Maritial status hide and show --MRJ-end 18FEB2020
	
	default_hide();

	/*var department  = $("#department").val();
	get_position(department);
	$("#department").change(function(){
		var department = $('#department').val();
		get_position(department);
	});*/
	$('#mobile_number,#additional_mobile_number,#father_contact,#mother_contact,#reference_1_mobile_no,#friend_name_1_mobile_no').change(function(){
		var $current = $(this);
		$('#mobile_number,#additional_mobile_number,#father_contact,#mother_contact,#reference_1_mobile_no,#friend_name_1_mobile_no').each(function() {
			if ($(this).val() == $current.val() && $(this).attr('id') != $current.attr('id')){
				toastr.error('duplicate found!');
				$('#'+$current.attr('id')).val('');
				return false;
			}
		});
	});

	//DR CODE START FOR EMPLOYEE APPROVAL NOT CHANGE BECAUSE INCREMENT APPROVAL STATUS BENDING
	
	/*var increment_approve_type  = $('#increment_approve_type').val();
	var increment_first_level   = $('#increment_first_level').val();
	var increment_second_level  = $('#increment_second_level').val();
	var increment_third_level  = $('#increment_third_level').val();
	$("#increment_first_level,#increment_second_level,#increment_third_level,#increment_approve_type").change(function(){
		var employee_code      = $('#employee_code').val();
		var send_url = '<?php //echo site_url("$controller_name/employee_approval_change"); ?>';
		$.ajax({
			type: "POST",
			url: send_url,
			data:{employee_code:employee_code},
			success: function(data){
				var rslt = JSON.parse(data);
				if(!rslt.success){
					toastr.error(rslt.message);
					$('#increment_first_level').val(increment_first_level);
					$('#increment_second_level').val(increment_second_level);
					$('#increment_third_level').val(increment_third_level);
					$('#increment_approve_type').val(increment_approve_type);
					select_option();
				}
			}
		});
	});*/

	var first_level_approval   = $('#first_level_approval').val();
	var second_level_approval  = $('#second_level_approval').val();
	var approve_type           = $('#approve_type').val();

	$("#first_level_approval,#second_level_approval,#approve_type").change(function(){
		var employee_code      = $('#employee_code').val();
		var send_url = '<?php echo site_url("$controller_name/employee_leave_approval_change"); ?>';
		// Encryption
		var encKey  = '<?php echo $encKey; ?>';
		var data    = {employee_code:employee_code};
		var encData = encrypt(encKey,data);
		$.ajax({
			type: "POST",
			url: send_url,
			data:encData,				
			contentType: 'text/plain',
			success: function(data){
				var rslt = JSON.parse(data);
				if(!rslt.success){
					toastr.error(rslt.message);
					$('#first_level_approval').val(first_level_approval);
					$('#second_level_approval').val(second_level_approval);
					$('#approve_type').val(approve_type);
					select_option();
				}
			}
		});
	});

	// DR CODE FOR TAB WISE VALIDATION AND SOME CREDETIAL ACCESS CHECKING...
	$("ul.nav-tabs li").find('a[data-toggle="tab"]').filter(function () {
		$(this).attr("id",$(this).attr("href"));        
	});
	var input_require_arr  =  [];
	var input_empty_arr    =  [];
	var relateTab_event    = '';
	var currentTab_event   = '';
	
	//tab changes based on active tab wise input required check validation
	$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
		var relatedHref      = $(e.relatedTarget).attr("href");
		var currentHref      = $(e.target).attr("href"); // activated tab
		input_require_arr    =  [];
		input_empty_arr      =  [];
		relateTab_event      = e.relatedTarget;
		currentTab_event     = e.currentTarget;		
		// active tab wise input required check validation
		$(""+relatedHref+"").find(':input').filter(function (){
			//only working for update
			if(parseInt(view_id) > 0){
				input_req_tab_control(this,input_require_arr,input_empty_arr,relateTab_event,currentTab_event);
			}
		});
	});
	
	$("#flip").click(function(){
	 	// $("#panel").show();
	    $("#panel").slideToggle("slow");
	});

	$("#personal_code").change(function(){   //NB[20-09-23]
		$("#wbs_element_hidden_1944").val('');
		$('#wbs_element_hidden_1944').prop('readonly', false);
		$('#position,#activity_no,#project_id').val('');
		$('#position,#activity_no,#project_id').siblings('.tooltiptext').text('');
		$('#select2-position-container,#select2-activity_no-container,#select2-project_id-container').empty();
	});

	//sap unique input on change to check unique validation
	$(unique_lables).on('change', function(e){
		var view_id          = "<?php echo $form_view->$prime_id; ?>";
		var change_id        =  $(this).attr("id");
		var change_inp_val   = $("#"+change_id+"").val();
		var employee_code    = $("#employee_code").val(); // to link prev inactive employee
		var aadhar_card_no    = $("#aadhar_card_no").val(); // to link prev inactive employee
		var entry_flag       = $("#entry_flag").val();
		input_uniq_validation(view_id,employee_code,aadhar_card_no,change_id,change_inp_val,entry_flag);
	});

	//wbs element based pay structure position value get
	// var wbs_element  = $('#wbs_element').val();
	// if(wbs_element){
	// 	wbs_pay_struct(wbs_element);
	// }else{
	// 	$('#project_id').val('');
	// 	$('#network_id').val('');
	// 	$('#position').val('');
	// 	$('#activity_no,#activity_no_hidden_1846').val('');
	// }
	
	//DR CODE FOR GENDER WISE HIDE AND SHOW
	var gender     = $("#gender").val();
	gender_wise_hide(gender);
	$('#gender').on("change",function(e){ 
		var gender     = $("#gender").val();
		gender_wise_hide(gender);
	});

	//BANK DETAILS HIDE AND SHOW -> NB[31-08-23]
	var bank_key     = $("#bank_key").val();
	bank_details_hide_show(bank_key);
	$('#bank_key').on("change",function(e){ 
		$('#bank_account_number').val('');
		$('#bank_name').val('');
		$('#ifsc_code,#ifsc_code_hidden_329').val('');
		var bank_key = $("#bank_key").val();
		bank_details_hide_show(bank_key);
	});

	//DR CODE START FOR PERSONAL AREA BASED LOCATION DEFAULT FETCH AND AREA CONTROL PICKLIST FETCH
	emp_location_fetch(personal_code);
	//AREA CONTROL PICKLIST FETCH
	var area_access       = $("#area_access").val();
	area_control_fetch(personal_code,area_access);
	$('#personal_code').on("change",function(e){ 
		var personal_code   = $("#personal_code").val();
		emp_location_fetch(personal_code);
		//AREA CONTROL PICKLIST FETCH
		area_control_fetch(personal_code,area_access);
	});

	//STOP PAY AND HOLD REASON BASED ON CHANGE VALIDATIONS
	$(document).on('change','#stop_pay_code,#hold_reason', function(e) {
		var change_id        =  $(this).attr("id");
		var change_inp_val   = $("#"+change_id+"").val();
		if(change_id === "stop_pay_code"){
			if(change_inp_val === "N"){
				$("#hold_reason").val('');
			}
		}else
		if(change_id === "hold_reason"){
			var stop_pay_code_val   = $("#stop_pay_code").val();
			if(stop_pay_code_val === "N"){
				$("#hold_reason").val('');
			}
		}
	});

	//POSITION BASED PRO TAX ACTIVITY NO FETCH
	$('#position').on("change",function(e){
		var role             = $("#role").val();
		var position         = $("#position").val();
		var personal_code    = $("#personal_code").val();
		var wbs_element      = $("#wbs_element").val();
		if(position && personal_code && wbs_element){
			activity_no_fetch(position,personal_code,wbs_element,role);
		}
	});

	$('#resend_pass').on('click',function(){
		$('#resend_pass').attr('disabled','disabled');
		$("#resend_pass").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
		var send_url       = '<?php echo site_url("$controller_name/reset_pass"); ?>';
		var employee_code  = $("#employee_code").val();
		// Encryption
		var encKey  = '<?php echo $encKey; ?>';
		var data    = {employee_code:employee_code};
		var encData = encrypt(encKey,data);
		$.ajax({
			type: "POST",
			url: send_url,
			data:encData,				
			contentType: 'text/plain',
			success: function(data) {
				var rslt = JSON.parse(data);
				if(rslt.success){	
					toastr.success(rslt.message);
					$('#resend_pass').attr('disabled',false);
					$("#resend_pass").html("Reset Password");
				}else{
					toastr.error(rslt.message);
				}
			}
		});
	})
});

//------------------------- FUNCTION START --------------------------------------------------------
//DR FUNCTION FOR WBS AND POSITION BASED AND ACTIVE PAY STRUCTURE BASED ACTIVITY NO AND TAX LOCATION FETCH
function activity_no_fetch(position,personal_code,wbs_element,role){
	$('#activity_no').siblings('.tooltiptext').text('');
	var send_url = '<?php echo site_url("$controller_name/activity_no_fetch"); ?>';
	// Encryption
	var encKey  = '<?php echo $encKey; ?>';
	var data    = {position:position,personal_code:personal_code,wbs_element:wbs_element,role:role};
	var encData = encrypt(encKey,data);
	$.ajax({
		type: "POST",
		url: send_url,
		data:encData,				
		contentType: 'text/plain',
		beforeSend : function(){
			$("#select2-activity_no-container").html("<i class='fa fa-spinner fa-spin'></i> Loading...");
			$('#select2-activity_no-container').attr('disabled','disabled');
		},
		success: function(data){
			var rslt = JSON.parse(data);
			if(rslt.success){
				var activity_no      = rslt.rslt_data[0]['activity_no'];
				var tax_location     = rslt.rslt_data[0]['tax_location'];
				var category         = rslt.rslt_data[0]['category'];
				$('#role').val(category);
				$('#activity_no').val(activity_no);
				var selectedText = $('#activity_no option[value="' + activity_no + '"]').text();
				$('#activity_no').siblings('.tooltiptext').text(selectedText); 
				$('#professional_tax_location').val(tax_location);
				select_option();
				$('#select2-activity_no-container').attr('disabled',false);
			}else{
				toastr.error(rslt.message);
			}
		}
	});
}

//dr code for sap input unique validation function
function input_uniq_validation(view_id,employee_code,aadhar_card_no,change_id,change_inp_val,entry_flag){
	var send_url = '<?php echo site_url("$controller_name/input_uniq_validation"); ?>';
	// Encryption
	var encKey  = '<?php echo $encKey; ?>';
	var data    = {view_id:view_id,employee_code:employee_code,change_id:change_id,change_inp_val:change_inp_val,entry_flag:entry_flag,aadhar_card_no:aadhar_card_no};
	var encData = encrypt(encKey,data);
	$.ajax({
		type: "POST",
		url: send_url,
		data:encData,				
		contentType: 'text/plain',
		success: function(data) {
			var rslt = JSON.parse(data);
			if(rslt.success){
				$("#flip,#panel").hide();
				$("#submit").show();
				toastr.success(rslt.message);	
			}else{
				datatable_struct_create(rslt.table_info);
				$("#submit").hide();
				toastr.error(rslt.message);
			}
		}
	});
}
//sap unique and mandate error through datatable
function datatable_struct_create(table_data){
	$("#flip").show();
	$("#panel").parent().show();
	//FORM INPUT UNIQUE AND MANDATE VALIDATION ERROR THROUGH TABLE
	var table = $('#view_table').DataTable({
		destroy: true,
		paging :false,
		language:{				                    
			searchPlaceholder: "Search records",
			search: "",
		},
		scrollY: 250,
		scrollCollapse: true,
		data: table_data,
		columns: [
			{ title: "Employee Code",data: "employee_code" },
			{ title: "Field Name",data: "field_name", 
				render:function(value) {
					return "<span style = 'color:red;'>"+value+"</span>"
			} },
			{ title: "Field Value",data: "field_value" },
			{ title: "Error Message",data: "error_message" }
		]
	});	
	$("#panel").slideToggle("slow");		
	$("input[type='search']").addClass('form-control');	
}

// FILE UPLOAD REMOVE
function remove_file(prime_id,is_defult,input_name){
	var prime_id_val = $("#"+prime_id).val();
	var input_val    = $("#"+input_name).val();
	var send_url = '<?php echo site_url("$controller_name/remove_file"); ?>';
	if(confirm('Are sure delete the file?')){
		// Encryption
		var encKey  = '<?php echo $encKey; ?>';
		var data    = {prime_id:prime_id,prime_id_val:prime_id_val,is_defult:is_defult,input_name:input_name,input_val:input_val};
		var encData = encrypt(encKey,data);
		$.ajax({
			type: "POST",
			url: send_url,
			data:encData,				
			contentType: 'text/plain',
			success: function(data) {
				var rslt = JSON.parse(data);
				$("#"+input_name).val("");
				$("#table_"+input_name).attr("style", "display:none");
			}
		});
	}
}
//PROGRESS STATUS FILE UPLOAD
function progress_bar(id) {
    i = 0;
	var elem  = document.getElementById("process_"+id+"");
	var width = 0;
	var internal    = setInterval(frame, 10);
	function frame() {
		if (width >= 100) {
			clearInterval(internal);
			i = 0;
			$('#div_'+id+'').hide();
			$('#submit').attr('disabled',false);
			$('#submit').html('Submit');
		} else {
			width++;
			elem.style.width = width + "%";
			elem.innerHTML = width  + "%";
		}
	}
}
//CHECK FILE SIZE FOR UPLOAD
function check_upload_size(size){
	size = (size / 1024 / 1024).toFixed(2);
	if(parseInt(size) <= 2){
		return true;
	}else{
		return false;
	}
}

function row_set_edit(row_id,table_name,view_id){
	if((row_id !== "") && (table_name !== "")){
		var send_url = '<?php echo site_url("$controller_name/row_set_edit"); ?>'; 
		var key        = '<?php echo $encKey; ?>';
		var encData    = encrypt(key,{row_id:row_id,table_name:table_name,view_id:view_id});
		$.ajax({			
			type: "POST",
			url: send_url,
			data:encData,
			contentType:'text/plain',
			success: function(data) {
				var rslt = JSON.parse(data);
				var table_name_set =  rslt.table_name;
				$.each( rslt.row_result, function(key,value){
					if(value.field_type === "6"){
						$('#'+key).prop('checked', false);
						if(value.input_value === "1"){
							$('#'+key).prop('checked', true);
						}
					}else
					if((value.field_type === "5") || (value.field_type === "7")){
						var selectedOptions = value.input_value.split(",");
						for(var i in selectedOptions) {
							var optionVal = selectedOptions[i];
							$("#"+key).find("option[value='"+optionVal+"']").prop("selected", "selected");
						}
						$(function(){
							$('.select2').select2({
								placeholder: '---- Select ----',
								allowClear: true,
								dropdownParent: $('.modal-dialog')
							});
							$('.select2-tags').select2({
								tags: true,
								tokenSeparators: [',']
							});
						});
					}else
					if(value.field_type === "10"){
						var access_delete 	= "<?php echo $access_deletess;?>";
						var access_update 	= "<?php echo $access_update;?>";
						var result     		= value.input_value.split("/");
						var file_name       = result[2];
						file_name           = file_name.replace(/^\d+_/, ''); 
						file_name           = file_name.toLowerCase(); 
						var file_ext_type   = file_name.split(".").pop();
						var prime_id 		= "<?php echo $prime_id;?>";
						var upload_id   	= "upload_"+key;
						var tabel_id   		= "table_"+key;
						var proof       	= "<?php echo base_url();?>"+value.input_value;
						var proofs 			= proof.split(/\s/).join('');
						var field_isdefault = "<?php echo $field_isdefault;?>";
						if(parseInt(access_delete)=== 0){
							var remove_btn  = "";
						}else{
							var remove_btn  = "<a onclick=rowset_remove_file('"+row_id+"','"+table_name_set+"','"+key+"','"+view_id+"','"+primes_id+"'); style='color: red; cursor: pointer;'><i class='fa fa-times' aria-hidden='true'></i>Remove</a>";
						}
						if(parseInt(access_update) === 0){
							var view_btn    = "";
						}else{
							if(file_ext_type === 'rar' || file_ext_type === 'zip' || file_ext_type === 'eml' || file_ext_type === 'msg' ){
								var view_btn  = "<a href ="+proof+" format.pdf = '' target='_blank' download ="+file_name+" style='cursor: pointer;color:blue;'><i class='fa fa-download' style='margin-right:5px' aria-hidden='true'></i>Download</a> "; 
							}else{
								var view_btn  = "<a onclick = view_upload_file('"+proof+"','"+file_ext_type+"'); style='cursor: pointer; color:blue;'><i class='fa fa-folder-open' aria-hidden='true'></i> View</a>";
							}
						}
						var input_box = "<input type='text' id='" + key + "' name='" + key + "' value='" + file_name + "' style='border:none !important' readonly><table style='width: 100%;' id='"+tabel_id+"'><tr><td colspan='2'><div class='progress_bar' id='div_"+key+"' style='display:none;'><div class='process_percent' id='process_"+key+"'>10%</div></div></td></tr><tr><td style='text-overflow: ellipsis; overflow: hidden; white-space: nowrap; max-width: 100px;'>"+view_btn+"</td></tr></table>";
						if(value.input_value === ""){
							$("#table_"+key).html("");
						}else{
							$("#table_"+key).html(input_box);
							$("#table_"+key).css("display", "");
							$("#"+key).attr('value', value.input_value);
						}
					}
					else{
						$('#'+key).val(value.input_value);
					}					
				});
			}
		});
	}
}
function row_set_remove(row_id,table_name,view_id,prime_id){
	if((row_id !== "") && (table_name !== "")){
		if (confirm('Are you sure want to delete this record?')) {
			var send_url = '<?php echo site_url("$controller_name/row_set_remove"); ?>'; 
			var key      = '<?php echo $encKey; ?>';
			var encData  = encrypt(key,{row_id:row_id,table_name:table_name,view_id:view_id,prime_id});
			$.ajax({
				type: "POST",
				url: send_url,
				data:encData,
				contentType:'text/plain',
				success: function(data) {
					var rslt = JSON.parse(data);
					// toastr.success(rslt.msg);
					$('#'+rslt.row_set_data.div_id).html(rslt.row_set_data.row_set_view);
					$('#'+rslt.row_set_data.table_id).DataTable();
				}
			});
		}		
	}
}
function rowset_remove_file(row_id,table_name_set,input_name,view_id,primes_id){
	$('#submit').attr('disabled','disabled');
	var send_url = '<?php echo site_url("$controller_name/rowset_remove_file"); ?>';
	if(confirm('Are sure delete the file?')){
		$.ajax({
			type: "POST",
			url: send_url,
			data:{row_id:row_id,table_name_set:table_name_set,input_name:input_name,view_id:view_id,primes_id:primes_id},
			success: function(data) {
				var rslt = JSON.parse(data);
				$("#"+input_name).val("");
				$("#table_"+input_name).attr("style", "display:none");
				$('#'+rslt.div_id).html(rslt.row_set_view);
				$('#'+rslt.table_id).DataTable();

			}
		});
	}
}

/* Get Employee Auto Generation Code */
function get_employee_code(role){
	var send_url = '<?php echo site_url("$controller_name/get_employee_code"); ?>';
	// Encryption
	var encKey  = '<?php echo $encKey; ?>';
	var data    = {role:role};
	var encData = encrypt(encKey,data);
	$.ajax({
		type: "POST",
		url: send_url,
		data:encData,				
		contentType: 'text/plain',
		success: function(data) {
			var rslt = JSON.parse(data);
			if(rslt.success){
				$('#employee_code').val(rslt.digits);
				$('#user_name').val(rslt.digits);
			}else
			if(rslt.sts = 0){
				toastr.success(rslt.message);
			}else{
				toastr.warning(rslt.message);
				//$('#employee_code').val('');
				//$('#user_name').val('');
			}
		}
	});
}
function get_permission_list(user_right){
	var send_url = '<?php echo site_url("$controller_name/get_permission_list"); ?>';
	// Encryption
	var encKey  = '<?php echo $encKey; ?>';
	var data    = {user_right:user_right};
	var encData = encrypt(encKey,data);
	$.ajax({
		type: "POST",
		url: send_url,
		data:encData,				
		contentType: 'text/plain',
		success: function(data){
			var rslt = JSON.parse(data);
			if(rslt.li_line){
				$('#permission_list').html(rslt.li_line);
				get_permission_list_up(rslt.menu_checked,rslt.sub_menu_checked);
			}
		}
	});
}

function month_year(){
	$(".datepicker").datetimepicker({
		format: 'MM-YYYY',
	});
}
function hide_all(){
	$('#date_of_wedding,#spouse_name,#spouse_contact_no').parent().hide();
	$('#date_of_wedding,#spouse_name,#spouse_contact_no').addClass('ignore');
}
function show_all(){
	$('#date_of_wedding,#spouse_name,#spouse_contact_no').parent().show();
	$('#date_of_wedding,#spouse_name,#spouse_contact_no').removeClass('ignore');
}

function pf_acc_show_all(){
	$('#pf_account_number').parent().show();
}

function pf_acc_hide_all(){
	$('#pf_account_number').parent().hide();
}

function get_permission(){	
	var menu_checked = '<?php echo json_encode($menu_checked); ?>';
	var obj = jQuery.parseJSON(menu_checked);
	$.each(obj, function(key,value) {
	  $('#'+value).prop('checked', true);
	}); 
	$('input:checkbox[name="menu_id"]:checked').each(function(){
		var menu_id = $(this).attr("id");
		var menu_id = 'ul_'+menu_id;   	 
		if ($(this).is(':checked')) {
			$('ul #'+menu_id).show();
		}else{
			$('ul #'+menu_id).hide();
		}
	});
	$('input:checkbox[name="sub_menu_id"]:checked').each(function(){
	   	var sub_menu_id = $(this).attr('id');
		var sub_menu_id = 'ul_'+sub_menu_id;
		if ($(this).is(':checked')) {
			$('ul #'+sub_menu_id).show();
		}else{
			$('ul #'+sub_menu_id).hide();
		}
	});
}
function get_permission_list_up(menu_checked,sub_menu_checked){
	$.each(menu_checked, function(key,value) {	
	  $('#'+value).prop('checked', true);
	  var menu_id = 'ul_'+value;
	  $('ul #'+menu_id).show();
	}); 

	$.each(sub_menu_checked, function(key,value) {	
	  $('#'+key).prop('checked', true);
	  var sub_menu_id = "ul_"+key;
	  $('#'+sub_menu_id).show();
	}); 
}

function select_option(){
	$(function(){
		$('.select2').select2({
			placeholder: '---- Select ----',
			allowClear: true,
			dropdownParent: $('.modal-dialog')
		});
		$('.select2-tags').select2({
			tags: true,
			allowClear: true,
			tokenSeparators: [',']
		});
	});
}

//Doj and dob based age restrictions
function date_diff_cal(prime_id,doj,dob){
	$('#submit').attr('disabled','disabled');
	var min_age = '<?php echo $comp_info->minimum_age; ?>';
	var max_age = '<?php echo $comp_info->maximum_age; ?>';
	
	if(doj.length !=0 && dob.length !=0){
		var doj_date = moment(doj, 'DD-MM-YYYY').format('YYYY-MM-DD');//date and year based updates
		var dob_date = moment(dob, 'DD-MM-YYYY').format('YYYY-MM-DD');
		var from     = moment(dob_date, 'YYYY-MM-DD'); // format in which you have the date
	    var to       = moment(doj_date, 'YYYY-MM-DD');     // format in which you have the date  
		/* using diff */
		var duration = to.diff(from, 'days');     
		var years    = parseInt((duration+1)/365);
		if(min_age > years){
			toastr.error("Date of joining and date of birth minimum difference is "+min_age+" years, Under Age Issue");
			$('#date_of_birth').addClass('error');
		}else
		if(max_age < years){
			toastr.error("Date of joining and date of birth Maximum difference is "+max_age+" years, Over Age Issue");
			$('#date_of_birth').addClass('error');
		}else{
			$('#date_of_birth').removeClass('error');
			$('#submit').attr('disabled',false);
		}
	}
}
function empty_seperation(){
	$('#resignation_date').val('');
	$('#resignation_letter_upload').val('');
	$('#separation_type').val('');
	$('#last_working_date').val('');
	$('#separation_reason').val('');
	$('#termination_status').val(0);
	select_option();
}
//Need to remove this
function default_hide(){
	$('#course_degree_name,#increment_first_level,#increment_second_level,#increment_third_level,#entry_flag,#project_id').parent().hide();
	$('#course_degree_name,#increment_first_level,#increment_second_level,#increment_third_level,#entry_flag').addClass('ignore');
}
/*function service_period(dt1,dt2){
	dt1 = new Date(dt1);
	dt2 = new Date(dt2);
	var diff_month =(dt2.getTime() - dt1.getTime()) / 1000;
	    diff_month /= (60 * 60 * 24 * 7 * 4);
	rslt_month = Math.abs(Math.round(diff_month));
	return rslt_month;
}*/
/*function esi_eligibility_hide_show(esi_eligibility){
	if(parseInt(esi_eligibility) === 1){
		$("#esi_location,#esi_number").parent().show();
		$("#esi_location,#esi_number").removeClass('ignore');
	}else
	if(parseInt(esi_eligibility) === 2){
		$("#esi_location,#esi_number").val('');
		$("#esi_location,#esi_number").parent().hide();
		$("#esi_location,#esi_number").addClass('ignore');
	}
	select_option();
}*/
function pf_eligibility_hide_show(pf_eligibility){
	if(parseInt(pf_eligibility) === 1){
		$("#pf_account_number,#uan_number").parent().show();
		$("#pf_account_number,#uan_number").removeClass('ignore');
	}else
	if(parseInt(pf_eligibility) === 2){
		$("#pf_account_number,#uan_number").val('');
		$("#pf_account_number,#uan_number").parent().hide();
		$("#pf_account_number,#uan_number").addClass('ignore');
	}
}
function get_position(department){
	var designation = $("#designation").val();
	var send_url = '<?php echo site_url("$controller_name/get_position"); ?>';
	if(department){
		// Encryption
		var encKey  = '<?php echo $encKey; ?>';
		var data    = {department:department,designation:designation};
		var encData = encrypt(encKey,data);
		$.ajax({
			type: "POST",
			url: send_url,
			data:encData,				
			contentType: 'text/plain',
			success: function(data) {
				$('#designation').html(data);
			}
		});
	}
}
//project id fetch based on wbs element
function project_id_fetch(wbs_element){
	var send_url = '<?php echo site_url("$controller_name/project_id_fetch"); ?>';
	// Encryption
	var encKey  = '<?php echo $encKey; ?>';
	var data    = {wbs_element:wbs_element};
	var encData = encrypt(encKey,data);
	$.ajax({
		type: "POST",
		url: send_url,
		data:encData,				
		contentType: 'text/plain',
		success: function(data) {
			var rslt = JSON.parse(data);
			$("#project_id").val(rslt.project_id);	
			select_option();
		}
	});
}
//wbs related pay structure position depenedent list
function wbs_pay_struct(wbs_element){
	$('#position').siblings('.tooltiptext').text('');
	var send_url = '<?php echo site_url("$controller_name/wbs_pay_struct"); ?>';
	var position = $('#position').val();
	if(wbs_element){
		$("#select2-position-container").html("<i class='fa fa-spinner fa-spin'></i> Loading...");
        $('#select2-position-container').attr('disabled','disabled');
		// Encryption
		var encKey  = '<?php echo $encKey; ?>';
		var data    = {wbs_element:wbs_element};
		var encData = encrypt(encKey,data);
		$.ajax({
			type: "POST",
			url: send_url,
			data:encData,				
			contentType: 'text/plain',
			success: function(data) {
				$('#select2-position-container').attr('disabled',false);
				$('#position').html(data);
				select_option();
			}
		});
	}
}
//ONLOAD POSITION NAME WITH GROSS FETCH
function position_gross(wbs_element,position){
	var send_url = '<?php echo site_url("$controller_name/position_gross"); ?>';
	if(wbs_element){
		$("#select2-position-container").html("<i class='fa fa-spinner fa-spin'></i> Loading...");
        $('#select2-position-container').attr('disabled','disabled');
		// Encryption
		var encKey  = '<?php echo $encKey; ?>';
		var data    = {wbs_element:wbs_element,position:position};
		var encData = encrypt(encKey,data);
		$.ajax({
			type: "POST",
			url: send_url,
			data:encData,				
			contentType: 'text/plain',
			success: function(data) {
				$('#select2-position-container').attr('disabled',false);
				$('#position').html(data);
				$('#position').val(position).trigger('change');
				select_option();
				emp_pay_struct_details(position);
			}
		});
	}
}
//FETCH WBS RELATED PROJECT IN ORG TAB
function project_pay_struct(personal_code,wbs_element){
	$('#project_id').siblings('.tooltiptext').text('');
	var send_url = '<?php echo site_url("$controller_name/project_pay_struct"); ?>';
	if(personal_code && wbs_element){
		// Encryption
		var encKey  = '<?php echo $encKey; ?>';
		var data    = {personal_code:personal_code,wbs_element:wbs_element};
		var encData = encrypt(encKey,data);
		$.ajax({
			type: "POST",
			url: send_url,
			data:encData,				
			contentType: 'text/plain',
			success: function(data) {
				var rslt = JSON.parse(data);
				if(rslt.success){
					var project  = rslt.rslt_data[0]['wbs_project_id'];
					$('#project_id').val(project);
					select_option();
				}
			}
		});
	}
}

//GENDER WISE HIDE AND SHOW AND GENDER TITLE UPDATE
function gender_wise_hide(gender){ 
	if(gender === "1"){
		//$("#husband_name").parent().hide(); // As discussed with porul 21jan2023
		//gender wise gender title update
		$("#title_code").val(1);
	}else
	if(gender === "2"){
		//$("#husband_name").parent().show();
		$("#father_name").parent().show();
		//gender wise gender title update
		$("#title_code").val(4);
	}	
}

//BANK DETAILS TAB HIDE AND SHOW 
function bank_details_hide_show(bank_key){
	if(bank_key === "9200"){
		$('#bank_name,#bank_account_number,#ifsc_code_hidden_329').removeAttr('required');
		$('#bank_name,#bank_account_number,#ifsc_code_hidden_329').addClass('ignore');
		$('#bank_name,#bank_account_number,#ifsc_code_hidden_329').parent().hide();
	}else{
		$('#bank_name,#bank_account_number,#ifsc_code_hidden_329').prop('required', true);
		$('#bank_name,#bank_account_number,#ifsc_code_hidden_329').removeClass('ignore');
		$('#bank_name,#bank_account_number,#ifsc_code_hidden_329').parent().show();
	}
}

//FUNCTION FOR FETCH A PERSONAL AREA TO EMPLOYEE LOCATION INPUT
function emp_location_fetch(personal_code){
	var send_url = '<?php echo site_url("$controller_name/emp_location_fetch"); ?>';
	if(personal_code){
		// Encryption
		var encKey  = '<?php echo $encKey; ?>';
		var data    = {personal_code:personal_code};
		var encData = encrypt(encKey,data);
		$.ajax({
			type: "POST",
			url: send_url,
			data:encData,				
			contentType: 'text/plain',
			success: function(data) {
				$('#emp_location').val(data);
			}
		});
	}
}
//FUNCTION FOR FETCH A PERSONAL AREA BASED AREA ACCESS FETCH
function area_control_fetch(personal_code,area_access){
	if(!area_access){
		$("#area_access").val(personal_code);
		select_option();
	}
}

//EMPLOYEE PAY STYRUCTURE DETAILS GET 20JAN23
function emp_pay_struct_details(position){
	let role              = $("#role").val();
	let personal_code     = $("#personal_code").val();
	let wbs_element       = $("#wbs_element").val();
	// let position          = $("#position").val();
	let activity_no       = $("#activity_no").val();
	let send_url          = '<?php echo site_url("$controller_name/emp_pay_struct_details"); ?>';

	//AJAX PROCESS
	if(personal_code && wbs_element && position && activity_no){
		// Encryption
		var encKey  = '<?php echo $encKey; ?>';
		var data    = {role:role,personal_code:personal_code,wbs_element:wbs_element,position:position,activity_no:activity_no};
		var encData = encrypt(encKey,data);
		$.ajax({
			type: "POST",
			url: send_url,
			data:encData,				
			contentType: 'text/plain',
			success: function(data) {
				var rslt = JSON.parse(data);
				if(rslt.success){
					$('#pay_structure_details').append(rslt.dom_data);
				}
			}
		});
	}
}

//dr code for tab wise control checking
function input_req_tab_control(parent_this,input_require_arr,input_empty_arr,relateTab_event,currentTab_event){
	var label_class = $("label[for='"+parent_this.id+"']").attr("class");
	if(label_class === "control-label upd_required "){
		input_require_arr.push(label_class);
		if($(parent_this).val() === ""){
			input_empty_arr.push(label_class);
		}
		tab_wise_control(input_require_arr,input_empty_arr,relateTab_event,currentTab_event);
	}
}

function tab_wise_control(input_require_arr,input_empty_arr,relateTab_event,currentTab_event){
	let input_require_len = input_require_arr.length;
	let input_empty_len   = input_empty_arr.length;
	if(input_require_len !== input_empty_len && input_empty_len !== 0){
		$(relateTab_event).parent().attr('class','active');
		$(currentTab_event).parent().attr('class','');
		$($(relateTab_event).attr("href")).attr('class','tab-pane fade active in');
		$($(currentTab_event).attr("href")).attr('class','tab-pane fade');
		// var tab_name     = $(relateTab_event).text();
		// toastr.error("Please fill all Mandatory Fields in "+tab_name+" Tab");
	}else{
		$(currentTab_event).parent().attr('class','active');
		$(relateTab_event).parent().attr('class','');
		$($(currentTab_event).attr("href")).attr('class','tab-pane fade active in');
		$($(relateTab_event).attr("href")).attr('class','tab-pane fade');
	}
}

//FUNCTION FOR AUTOCOMPLETE BOX CLEAR
function clear_autocomplete(hidden_id,label_id){
	$.confirm({
		content: 'Are you sure you want to Clear?',
		escapeKey: 'Yes',
		onOpenBefore: function () {
		},
		buttons: {
			Yes: function(){
				$('#'+hidden_id).val('');
				$('#'+label_id).val('');
				$('#'+hidden_id).prop("readonly", false); 
			},
			No: function(){
				select_option();
			}
		}
	});
}

//VALIDATION PROCESS START DURING USER ENTER !

$.validator.setDefaults({ignore:[]});	
$.validator.addMethod("alphatext", function(value, element) { //EMP NAME
  return /^[A-Za-z\s]+$/.test(value);
}, "Please enter text only.");

$.validator.addMethod("mobile", function(value, element) {  //MOBILE NUMBER
  return /^[6-9](?!.*(\d)\1{4})\d{9}$/.test(value); 
}, "Please enter valid number.");

$('#date_of_birth').on("dp.hide",function (e) {  //DOB 
	prime_id = '<?php echo $form_view->$prime_id; ?>';
	var dob = $('#date_of_birth').val();
	var doj = $('#date_of_joining').val();
	date_diff_cal(prime_id,doj,dob);
});
$('#date_of_joining').on("dp.hide",function (e) {  // DOJ
	prime_id = '<?php echo $form_view->$prime_id; ?>';
	var dob = $('#date_of_birth').val();
	var doj = $('#date_of_joining').val();
	date_diff_cal(prime_id,doj,dob);
});

function gen_relation(gender){  //GENDER
    if(gender === "1"){
      	$("#husband_name").prop("readonly", true); 
    }else if(gender === "2"){
      	$("#husband_name").prop("readonly", false); 
    }
}
//CALCULATE DOB & DOJ DIFF VALIDATION
function date_diff_cal(prime_id,doj,dob){    
	var min_age = '<?php echo $comp_info->minimum_age; ?>';
	var max_age = '<?php echo $comp_info->maximum_age; ?>';
	if(doj.length !=0 && dob.length !=0){
		var doj_date = moment(doj, 'DD-MM-YYYY').format('YYYY-MM-DD');
		var dob_date = moment(dob, 'DD-MM-YYYY').format('YYYY-MM-DD');
		var from     = moment(dob_date, 'YYYY-MM-DD'); 
	    var to       = moment(doj_date, 'YYYY-MM-DD');   
		/* using diff */ 
		var duration = to.diff(from, 'days');     
		var years    = parseInt((duration+1)/365);
		if(min_age > years){
			toastr.error(" Age Restriction - Must be Above "+min_age+" Years");
			if(!prime_id){
				$('#date_of_birth').val('');
			}
		}else
		if(max_age < years){
			toastr.error("Age Restriction - Must be Below "+max_age+" years");
			if(!prime_id){
				$('#date_of_birth').val('');
			}
		}
	}
}
</script>
<style>
	.textcolor{
		color: blue;
	}
	select[readonly].select2 + .select2-container {
		pointer-events: none;
		touch-action: none;
	}
	input[readonly] {
		pointer-events: none;
		touch-action: none;
	}
	#panel, #flip {
		display: none;
		/* text-align: center; */
	}
	#flip {
		text-align: center;	
	}
	.tab-content{
		height: 360px;
		overflow-y: scroll !important;
	}
	.modal{
		overflow-y: hidden !important;
	}
	.thead-dark {
		position: sticky;
		top: 0;
		z-index: 1;
	}
	#ear_div,#ded_div {
		height: 315px;
		overflow: auto;
	}
	.clear_btn:hover{
		 color:orange; 
	}
</style>