<link rel="stylesheet" href="<?php echo base_url(); ?>assets_admin/css/bootstrap-select.css">
<style>
	.multiple-fields-fees .form-div {
		width: auto;
		margin-right: 12px;
	}
	label.error,label#Nameerr,#dublicateErr {
		color: red;
	}
	/*input {
		height: calc(2.25rem + 2px);;
	}*/
	.form-control[readonly] {
		background-color: rgb(255 255 255 / 0%);
		opacity: 1;
	}
	.form-control[disabled] {
		background-color: #e9ecef;
		opacity: 1;
	}
	.dropdown.bootstrap-select {
		width: 240px !important;
		display: block !important;
	}
</style>
<script src="<?php echo base_url(); ?>assets_admin/js/moment.min.js"></script>
<main class="wraper responsive-width" id="main" >
	<div class="main-wrap" >
		<div class="dashboard-cover">
			<?php if($this->session->flashdata('success')) { ?>
				<div class="alert alert-success alert-dismissible fade show" role="alert">
					<p><?php echo $this->session->flashdata('success') ?></p>
					<button type="button" class="close" data-dismiss="alert" aria-label="Close">
						<span aria-hidden="true">&times;</span>
					</button>
				</div>
			<?php } ?>
			<?php if($this->session->flashdata('failed')) { ?>
				<div class="alert alert-danger alert-dismissible fade show" role="alert">
					<p><?php echo $this->session->flashdata('failed') ?></p>
					<button type="button" class="close" data-dismiss="alert" aria-label="Close">
						<span aria-hidden="true">&times;</span>
					</button>
				</div>
			<?php } ?>
			<div class="common-heading">
				<!-- <div class="calendar-type mb-3">
					<p class="mb-2">Note : Click below button to change type of calendar</p>
					<input type="checkbox" id="cal_language" name="cal_language" checked data-toggle="toggle" data-on="Bikram Sambat" data-off="Gregorian" data-onstyle="primary" data-offstyle="success">
				</div> -->
				<h2>Fee </h2>
			</div>
			<form action="<?= base_url() ?>admin/ae-fee-course/<?= $fees_id ?>" id="fee_form" method="post">
				<?php if($fees_id == 0) { ?>
					<div class="feeForm-wrap"> 
						<div class="form-group">
							<label for="">Batch<span class="text-danger font-weight-bold">*</span></label>
							<select name="batch_id" class="form-control" id="batch_id">
								<option selected disabled value=''>Select one batch</option>
								<?php foreach ($batches as $key => $value) {
									echo '<option value="'.$value['id'].'">'.$value['b_name'].' : '.batchdateFormatTo($value['b_from'], $value['b_end']).'</option>';
								} ?>				
							</select> 
							<div class="empty_batch_err" style="display:none;color:red"></div>
						</div>
						<div class="form-group">
							<label for="">Course<span class="text-danger font-weight-bold">*</span></label>
							<select name="course_id[]" multiple class="form-control selectpicker" id="course_id" onchange="CourseChange(this)">
								<option disabled value=''>Select Courses</option>
								<?php foreach ($courses as $key => $value) {
									echo '<option value="'.$value['id'].'">'.$value['course_name'].'</option>';
								} ?>
							</select> 
						</div>
						<div class="form-group">
							<label for="">Fees Type<span class="text-danger font-weight-bold">*</span></label>
							<select name="feetype" onchange="check_hostel_type(this)" class="form-control" id="feetype">
								<option selected disabled value=''>Select fee type</option>
								<?php foreach ($feeTypes as $key => $value) {
									echo '<option value="'.$value['id'].'">'.$value['feetype_name'].'</option>';
								} ?>
							</select> 
							<label id="Nameerr" style="display : none"></label>
						</div>
						<div class="form-group" id="group-checkbox-id">
							<label>Group Fees</label>
							<label class="checkBox"> 
								<input type="checkbox" id="checkBx" name="grouped" onchange="valueChanged()">
								<span class="checkmark"></span>
							</label>
							<div class="form-group-h">
								<div class="form-group">
									<label for="">Due date<span class="text-danger font-weight-bold">*</span></label>
									<input type="text"  name="common_bs_due_date" class="form-control cm-datepicker common_date_picker" id="cm-datepicker" placeholder="Select Date"/>
									<input type="date" onchange="applyEnglishDate(this, event)" name="common_ad_due_date" placeholder="Select Date" class="form-control eng-date english-datepicker common_date_picker" style="display: none;">
								</div>
							</div>
						</div> 
						<div id="newdropdowns"></div>
						<div class="multiple-fields-fees">
							<div class="form-group form-group-div">
								<div class="form-div">
									<label for="">Fees Name<span class="text-danger font-weight-bold">*</span></label>
									<div class="fees-name-container">
										<input type="text"  name="feename[0]" id="" class="form-control feeNameClass" placeholder="Enter fees name">
									</div>
								</div>
								<div class="form-div">
									<label for="">Amount<span class="text-danger font-weight-bold">*</span></label>
									<input type="text" name="feeamount[0]" id="" class="form-control feeAmountClass" placeholder="Enter fees amount">
								</div>
								<div class="form-div">
									<label for="">Due date<span class="text-danger font-weight-bold">*</span></label>
									<input type="text"  name="bsdate[0]" class="form-control cm-datepicker nepali-datepicker" id="nepali-datepicker" placeholder="Select Date"/>
									<input type="date" name="englishdate[0]"  class="form-control  english-datepicker" style="display: none;" placeholder="Select Date">
								</div>
								<div class="form-div add-remove-btns">
									<button style="display:none" class="add-delete-btn" onclick="addExtraFields(this, event)" name="Add new Course" id="addBtn1">+</button>
								</div>
							</div>
						</div>
						<div id="dublicateErr" class="mb-2" style="display:none"></div>
						<hr>
						<!-- Nstallments section -->

						<!-- <div class="installment-section mt-3 mb-3">
							<div class="form-check">
								<input type="checkbox" class="form-check-input" id="installment">
								<label class="form-check-label" for="installment">Create Installments</label>
							</div>

							<div class="main_installments_container mt-3" style="display:none">
								<select class="form-control" name="payment_type">
									<option value="" selected>Choose one payment type</option>
									<?php 
									foreach ($payment_types as $key => $value) { ?>
										<option value="<?= $value['id'] ?>"><?= $value['payment_type_name'] ?></option>
									<?php }
									?>
								</select>
							</div>
						</div>

						<script type="text/javascript">
							$('#installment').on('change',function() {
								let sum = 0;
								$('#dublicateErr').hide();
								$('.feeAmountClass').each(function(i,ele) {
									sum += Number(ele.value);
								})

								if(sum > 0) {
									
									if($('#installment').is(":checked")) {
										$('.main_installments_container').show();
									}

								} else {
									$('.main_installments_container').hide();
									$('#dublicateErr').text('Please enter atleast one amount');
									$('#dublicateErr').show();
									$(this).prop('checked', false)
								}
								
							})
						</script> -->

						<!-- Nstallments section -->



						<input type="submit" class="subject_addbtn" value="Save">
						<a href="<?php echo base_url() ?>admin/fee-course"><button type="button" class=" ml-2 subject_addbtn bg-dark">Back</button></a>
					</div>
				<?php } else { // UPDATE FORM STARTS HERE ?> 
					
					<div class="feeForm-wrap"> 
						<div class="form-group">
							<label for="">Batch<span class="text-danger font-weight-bold">*</span></label>
							<select name="batch_id" class="form-control" id="batch_id">
								<?php foreach ($batches as $key => $value) {
									if(in_array($course_fees[0]['batch'],$value)) {
										echo '<option selected value="'.$value['id'].'">'.$value['b_name'].' : '.batchdateFormatTo($value['b_from'], $value['b_end']).'</option>';
									} else {
										echo '<option value="'.$value['id'].'">'.$value['b_name'].' : '.batchdateFormatTo($value['b_from'], $value['b_end']).'</option>';
									}
								} ?>				
							</select> 
						</div>
						<div class="form-group">
							<label for="">Course<span class="text-danger font-weight-bold">*</span></label>
							<select name="course_id" class="form-control"  id="course_id" >
								<?php foreach ($courses as $key => $value) { 
									if(in_array($course_fees[0]['course'],$value)) {
										echo '<option selected value="'.$value['id'].'">'.$value['course_name'].'</option>';
									} else {
										echo '<option value="'.$value['id'].'">'.$value['course_name'].'</option>';
									}
								} ?>	
							</select> 
						</div>
						<div class="form-group">
							<?php
								$disabled_var = $course_fees[0]['fee_id'] == 8 ? 'enabled' : '';
							?>
							<label for="">Fees Type<span class="text-danger font-weight-bold">*</span></label>
							<select name="feetype" <?= $disabled_var ?> onchange="check_hostel_type(this)" class="form-control" id="feetype" >
								<?php foreach ($feeTypes as $key => $value) { 
									if(in_array($course_fees[0]['feetype'],$value)) {
										echo '<option selected value="'.$value['id'].'">'.$value['feetype_name'].'</option>';
									} else {
										echo '<option value="'.$value['id'].'">'.$value['feetype_name'].'</option>';
									}
								} ?>
							</select>
							<label id="Nameerr" style="display : none"></label>
						</div>
						<?php
							$div_style = $course_fees[0]['fee_id'] == 8 ? 'none' : 'block';
						?>
						<div class="form-group" id="group-checkbox-id" style="display:<?= $div_style ?>">
							<label>Group Fees</label>
							<label class="checkBox"> 
								
								<?php if($course_fees[0]['grouped'] == 'yes') {
									echo '<input type="checkbox" checked name="grouped" id="checkBx" onchange="valueChanged()">';
								} else {
									echo '<input type="checkbox" name="grouped" id="checkBx" onchange="valueChanged()">';
								} ?>
								<span class="checkmark"></span>
							</label>
							<div class="form-group-h">
								<div class="form-group">
									<label for="">Due date<span class="text-danger font-weight-bold">*</span></label>
									<?php if($course_fees[0]['grouped'] == 'yes') { ?>
										<input type="text" value="<?= $course_fees[0]['due_date'] ?>"  name="common_bs_due_date" class="form-control cm-datepicker common_date_picker" id="cm-datepicker" placeholder="Select Date"/>
									<?php } else { ?>
										<input type="text"  name="common_bs_due_date" class="form-control cm-datepicker common_date_picker" id="cm-datepicker" placeholder="Select Date"/>
									<?php } ?>
									<input type="date" name="common_ad_due_date" placeholder="Select Date" class="form-control english-datepicker eng-date common_date_picker" style="display: none;">
								</div>
							</div>
						</div> 
						<?php
						// dd($course_fees);
							$route_div_style = $course_fees[0]['fee_id'] == 4 ? '' : 'd-none';
						?>
						<div class="form-group <?=$route_div_style; ?>" >
						<?php //dd($course_fees); ?> 
							<label for="">Route Name<span class="text-danger font-weight-bold">*</span></label>
							<select name="new_route_id" class="form-control" id="new_route_id" >
								<?php 
							
								foreach ($edit_route_list as $rt_key => $rt_value) {
									if($course_fees[0]['route_id']==$rt_value['id']) {
										echo '<option selected value="'.$rt_value['id'].'">'.$rt_value['route_name'].'</option>';
									} else {
										echo '<option value="'.$rt_value['id'].'">'.$rt_value['route_name'].'</option>';
									}
								} ?>				
							</select> 
						</div>
						<div class="multiple-fields-fees">
							<?php $selectedPlan = '' ?> <!-- // Used only for Hostel -->
							<?php 
							
							// dd($course_fees);
							foreach ($course_fees as $key => $value) {
								$feenames = (array)json_decode($value['fees_name']);
								$nameLength = count($feenames);
								
// dd($feenames);                
								foreach ($feenames as $index => $ele) { 
									$selectedPlan = $ele->name; // Ignore if fee type is not hostel
									
									
									?>


									<div class="form-group form-group-div ">
										<div class="form-div">
											<?php //echo $index."<br>".$ele->name; ?>
											<label for="">Fees Name -   <?php //echo $index ?><span class="text-danger font-weight-bold">*</span></label>
											<div class="fees-name-container">
												<input type="text" value="<?= $ele->name ?>" name="feename[<?= $index ?>]" id="" class="form-control feeNameClass checkfeename" placeholder="Enter fees name">
											</div>
										</div>
										<div class="form-div">
											<label for="">Amount<span class="text-danger font-weight-bold">*</span></label>
											<input type="text" value="<?= $ele->amount ?>" name="feeamount[<?= $index ?>]" id="" class="form-control feeAmountClass" placeholder="Enter fees amount">
										</div>
										<?php if($value['grouped'] == 'no') { ?>
											<div class="form-div">
												<label for="">Due date<span class="text-danger font-weight-bold">*</span></label>
												<input type="text" value="<?= $value['due_date'] ?>"  name="bsdate[0]" class="form-control cm-datepicker nepali-datepicker" id="nepali-datepicker" placeholder="Select Date"/>
												<input type="date" name="englishdate[<?= $index ?>]"  class="form-control english-datepicker" style="display: none;" placeholder="Select Date">
											</div>
										<?php } else { ?>
											<div class="form-div">
												<label for="">Due date<span class="text-danger font-weight-bold">*</span></label>
												<input type="text" disabled value="<?= $value['due_date'] ?>"  name="bsdate[0]" class="form-control cm-datepicker nepali-datepicker" id="nepali-datepicker" placeholder="Select Date"/>
												<input type="date" disabled name="englishdate[<?= $index ?>]"  class="form-control english-datepicker" style="display: none;" placeholder="Select Date">
											</div>
										<?php } ?>
										<?php if($nameLength == 1) { ?>
											<div class="form-div add-remove-btns">
												<button style="display:none" class="add-delete-btn" onclick="addExtraFields(this, event)" name="Add new Course" id="addBtn1">+</button>
											</div>
										<?php } else if($index == ($nameLength - 1)){ ?>
											<div class="form-div add-remove-btns">
												<button style="display:none" class="add-delete-btn" onclick="addExtraFields(this, event)" name="Add new Course" id="addBtn1">+</button>
											</div>
											<div class="form-div add-remove-btns remove-btn">
												<button class="add-delete-btn" onclick="removeExtraField(this, event)" name="Add new Course" id="addBtn1">-</button>
											</div>
										<?php } else if($index > 0) { ?>
											<div class="form-div add-remove-btns remove-btn">
												<button class="add-delete-btn" onclick="removeExtraField(this, event)" name="Add new Course" id="addBtn1">-</button>
											</div>
										<?php } ?> 
									</div>
								<?php }
							} ?> 
						</div> 
						<div id="dublicateErr" class="mb-2" style="display:none"></div>
						<input type="submit" class="subject_addbtn" value="Update">
						<a href="<?php echo base_url() ?>admin/fee-course"><button type="button" class=" ml-2 subject_addbtn bg-dark">Back</button></a>
					</div>
				<?php } ?>
				
			</form>
		</div>
	</div>
</main> 
<script defer src="<?php echo base_url(); ?>assets_admin/js/bootstrap-select.min.js"></script>



<script type="text/javascript">

function CourseChange(element){
	// alert(element.id);
	$('#feetype').val('');
	$('#newdropdowns').empty();
}

	function CheckRouteFee(inputelement){
		let batchid=$('#batch_id option:selected').val();
		// alert(BatchId);
		// let CourseId=$('#cousrse_id option:selected').val();
		let feeTypeId=$('#feetype option:selected').val();
		var selectedValues=[];
		let checkfeename=$('.checkfeename').val();
		
		$('#course_id option:selected').each(function() {  
        let selectedItem=$(this).val();
		// alert('course_ids'+selectedItem);
        if(selectedItem !=''){
            selectedValues.push(selectedItem);
		}
		
    });
		let routeId=$('#'+inputelement.id).val();

        if(batchid === '')
		   alert("Please Select Batch");
		else if(feeTypeId === '')
		   alert("Please Select Fees Type");
		else if(selectedValues.length === 0)
		    alert("Please Select course");
	    else if(routeId === '')
			alert("Please Select Route");

		if(batchid !=='' && feeTypeId !=='' && (selectedValues.length > 0) && routeId!==''){
			var errdiv='';
			$.ajax({
					url : '<?php echo base_url() ?>' + 'admin/check_route_fees',
					type : 'POST',
					data:{
						batch_id:batchid,
						feetype_id:feeTypeId,
						course_ids:selectedValues,
						route_id:routeId
					},
					dataType: "json",
					success: function(response){
					    if(response != 0)
						{
							errdiv +='<p  ><strong class="text-danger" style="font-size:16px;">NOTE : </strong> <span style="font-size:14px;" class="text-success">The existing fee names can not be created again.</span></p>';
						// for(let i=0;i<response.length;i++){
						// 	errdiv +='<p class="text-danger" style="font-size:12px;"> <strong>'+ response[i].fee_values +'</strong> Fees already created for Batch and Course <strong>'+response[i].course_name+'</strong></p>';
							
						// }
						$('#errorDiv').empty().append(errdiv);
							
						}
					}
				});
		}
		else {
			console.log(selectedValues.length);
		}


		// alert("batch "+BatchId);
		
		// alert("feestype "+feeTypeId);
        // alert(inputelement.id);
	}


	$('#batch_id').on('change', function() {
		$('.empty_batch_err').hide();
		$('#Nameerr').hide();
	})
	
	const check_hostel_type = function(ele) {
		$('#newdropdowns').empty();
		$('#Nameerr').hide();
		$('#group-checkbox-id').show();
		let feenameContainer = $('.fees-name-container');
		let notFirstChild = $('.multiple-fields-fees .form-group.form-group-div:not(:first-child)');
		if(ele.value == 3) {
			
			$('#group-checkbox-id').hide();
			$('.main_installments_container').hide();
			if(notFirstChild.length > 0) {
				notFirstChild.remove();
				$('.multiple-fields-fees .form-control').each(function(index,ele) {
					ele.value = '';
				})
			}

			$('#group-checkbox-id').hide();
			$.ajax({
				url : '<?php echo base_url() ?>' + 'admin/ajax_get_hostel_plans',
				type : 'POST',
				async : false,
				success: function(data){
					
					feenameContainer.empty();
					feenameContainer.append(data);
				}
			});
		} else if(ele.value == 4) {
			$(".add-delete-btn").show();
			$('#group-checkbox-id').hide();	
			$('.empty_batch_err').hide();
			$('#Nameerr').hide();
			$('.main_installments_container').hide();

			if(notFirstChild.length > 0) {
				notFirstChild.remove();
				$('.multiple-fields-fees .form-control').each(function(index,ele) {
					ele.value = '';
				})
			}
			$('#group-checkbox-id').hide();
			let batch_id = $('#batch_id').val();
			if(batch_id) {
				$.ajax({
					url : '<?php echo base_url() ?>' + 'admin/ajax_get_transport_routes_new',
					type : 'POST',
					data : {
						batch_id
					},
					async : false,
					success: function(data){	
						// console.log(data);


						if(!data) {
							$('#Nameerr').show();
							$('#Nameerr').text('There are no routes for selected batch to create Transport fees');
							$(ele).val('');
						} else {
							$('#newdropdowns').empty();
							$('#newdropdowns').append(data);
							feenameContainer.empty();	
							feenameContainer.append('<input type="text"  name="feename[0]" id="" class="form-control feeNameClass" placeholder="Enter fees name">');
						}
						
					}
				});
			} else {
				$('.empty_batch_err').show();
				$('.empty_batch_err').text('Please select a batch');
				$(ele).val('');
			}





// afras code start here

			// if(batch_id) {
			// 	$.ajax({
			// 		url : '<?php //echo base_url() ?>' + 'admin/ajax_get_transport_routes',
			// 		type : 'POST',
			// 		data : {
			// 			batch_id
			// 		},
			// 		async : false,
			// 		success: function(data){	
			// 			console.log(data);
			// 			if(!data) {
			// 				$('#Nameerr').show();
			// 				$('#Nameerr').text('There are no routes for selected batch to create Transport fees');
			// 				$(ele).val('');
			// 			} else {
			// 				feenameContainer.empty();	
			// 				feenameContainer.append(data);
			// 			}
						
			// 		}
			// 	});
			// } else {
			// 	$('.empty_batch_err').show();
			// 	$('.empty_batch_err').text('Please select a batch');
			// 	$(ele).val('');
			// }
// Afras code end here			
			
		} else if (ele.value == 8) {
			$("#group-checkbox-id").hide();
			$(".add-delete-btn").show();
		} else {
			$('.main_installments_container').show();
			$('#group-checkbox-id').show();
			feenameContainer.empty();
			feenameContainer.append('<input type="text"  name="feename[0]" id="" class="form-control feeNameClass" placeholder="Enter fees name">');
			$('.multiple-fields-fees .form-control').each(function(index,ele) {
				ele.value = '';
			})
		}
	}

	const set_plan_id = function(ele) {
		let id = $(ele).find(':selected').data('id');
		$('#hostel_plan_id').val(id);
	}

	const set_transport_route_id = function(ele) {
		let id = $(ele).find(':selected').data('id');
		$('#route_id').val(id);
	}


	$(document).ready(function(){
		
		if($('#checkBx').is(":checked")) {
			$(".form-group-h").show();
			$(".add-delete-btn").show();
		} else {
			$(".form-group-h").hide();
			$(".add-delete-btn").hide();
		}

		$('.english-datepicker').attr('min', moment().format('YYYY-MM-DD'))

		var mainInput = $(".cm-datepicker");
		let NDate = NepaliFunctions.GetCurrentBsDate();
		let todayDate = `${NDate.year}-${NDate.month}-${NDate.day}`;

		mainInput.nepaliDatePicker({
			disableBefore: todayDate,
			language : 'english',
			onChange: function(data) {
				$('.nepali-datepicker').val(data.bs);
			},
		});

		// *************************************************************************

		<?php if($fees_id > 0) { ?>
			if($('#feetype').val() == 3) {
				$('#group-checkbox-id').hide();
				$.ajax({
					url : '<?php echo base_url() ?>' + 'admin/ajax_get_hostel_plans',
					type : 'POST',
					data : {
						selected_plan : '<?= $selectedPlan ?>'
					},
					async : false,
					success: function(data){
						let feenameContainer = $('.fees-name-container');
						feenameContainer.empty();
						feenameContainer.append(data);
					}
				});
			}

			if($('#feetype').val() == 4) {
				$('#newdropdowns').empty();
				$('#group-checkbox-id').hide();
				let batch_id = $('#batch_id').val();
				$.ajax({
					url : '<?php echo base_url() ?>' + 'admin/ajax_get_transport_routes_new',
					type : 'POST',
					data : {
						selected_plan : '<?= $selectedPlan ?>',
						batch_id
					},
					async : false,
					success: function(data){
						
						$('#newdropdowns').append(data);
						// let feenameContainer = $('.fees-name-container');
						// feenameContainer.empty();
						// feenameContainer.append();
					}
				});
			}

		<?php } ?>
		


	});
</script>

<script type="text/javascript">
	const applyEnglishDate = (ele) => {
		
		$('.english-datepicker').val(ele.value);

	}
</script>


<script type="text/javascript">
	let clonedItems = [];

	$('.nepali-datepicker').attr('readonly', 'readonly');
	


	function valueChanged()
	{
		let notFirstChild = $('.multiple-fields-fees .form-group.form-group-div:not(:first-child)');
		if($('#checkBx').is(":checked")){
			$(".form-group-h").show();
			$(".add-delete-btn").show();
			
			
			if(notFirstChild.length > 0) {
				$('.multiple-fields-fees').append(notFirstChild);
			}

			$('.english-datepicker').attr("disabled", true);
			$('.nepali-datepicker').attr("disabled", true);

			$('.eng-date').prop('disabled', false);

		}else{
			
			$('.english-datepicker').removeAttr('disabled');
			$('.nepali-datepicker').removeAttr('disabled');

			$('.english-datepicker').removeAttr('readonly');
			$('.nepali-datepicker').removeAttr('readonly');

			$(".form-group-h").hide();
			$(".add-delete-btn").hide();
			if(notFirstChild.length > 0) {
				notFirstChild.remove();
			}
		}


		if($('#checkBx').is(":checked")) {

			let updatedMultipleFields = $('.multiple-fields-fees .form-group.form-group-div');

			$('.add-remove-btns').remove();

			for (var i = updatedMultipleFields.length - 1; i >= 0; i--) {

				if(i == 0 && (updatedMultipleFields.length == 1)) {
					$(updatedMultipleFields[i]).append('<div class="form-div add-remove-btns"><button class="add-delete-btn" onclick="addExtraFields(this, event)" name="Add new Course" id="addBtn1">+</button></div>');
				} else if(i == updatedMultipleFields.length - 1) {

					$(updatedMultipleFields[i]).append('<div class="form-div add-remove-btns"><button class="add-delete-btn" onclick="addExtraFields(this, event)" name="Add new Course" id="addBtn1">+</button></div><div class="form-div add-remove-btns remove-btn"><button class="add-delete-btn" onclick="removeExtraField(this, event)" name="Add new Course" id="addBtn1">-</button></div>');

				} else if (i == 0 ) {
					$(updatedMultipleFields[i]).append('');
				} else {
					$(updatedMultipleFields[i]).append('<div class="form-div add-remove-btns remove-btn"><button class="add-delete-btn" onclick="removeExtraField(this, event)" name="Add new Course" id="addBtn1">-</button></div>');
				}

			}

		}
		
	}

	// Add extra field
	let count = 1;
	let idCount = $('.multiple-fields-fees .form-group.form-group-div').length - 1;
	function addExtraFields(ele,e){
		e.preventDefault();

		count = count + parseInt($(ele).parent().prev().find('input').attr('id'));
		
		let extra = $(ele).parent().parent().clone();

		$(extra).children('.remove-btn').remove();
		$(extra).find('.feeAmountClass').val(null); 
		$(extra).find('.feeNameClass').val(null); 
		
		let newDatePicker = $(extra).find('.nepali-datepicker');
		
		newDatePicker.attr('id', count);		

		extra.append('<div class="form-div add-remove-btns remove-btn"><button class="add-delete-btn" onclick="removeExtraField(this, event)" name="Add new Course" id="addBtn1">-</button></div>');

		$('.multiple-fields-fees').append(extra);
		
		let multipleFieldslength = $('.multiple-fields-fees .form-group.form-group-div').length;
		let allinputs = $(extra).find('input');
		let nameVal = '';

		for(let i=0; i<allinputs.length; i++) {
			if(multipleFieldslength == 2) {
				idCount = 0;
				nameVal = allinputs[i].name.replace('[0]', '['+(idCount + 1)+']')
			} else {
				nameVal = allinputs[i].name.replace('['+idCount+']', '['+(idCount + 1)+']')
			}
			allinputs[i].setAttribute('name', nameVal);

		}

		idCount++;
		ele.remove();

	}

	function removeExtraField(ele, e) {
		e.preventDefault();

		let CurrentParent = $(ele).parent().parent();
		let removedIndex = 0;
		let multipleFields = $('.multiple-fields-fees .form-group.form-group-div');

		for (var i = multipleFields.length - 1; i >= 0; i--) {
			if(multipleFields[i] == CurrentParent[0]) {
				removedIndex = i;
			}
		}
		
		$(ele).parent().parent().remove();

		let updatedMultipleFields = $('.multiple-fields-fees .form-group.form-group-div');

		$('.add-remove-btns').remove();

		for (var i = updatedMultipleFields.length - 1; i >= 0; i--) {

			if(i == 0 && (updatedMultipleFields.length == 1)) {
				$(updatedMultipleFields[i]).append('<div class="form-div add-remove-btns"><button class="add-delete-btn" onclick="addExtraFields(this, event)" name="Add new Course" id="addBtn1">+</button></div>');
			} else if(i == updatedMultipleFields.length - 1) {

				$(updatedMultipleFields[i]).append('<div class="form-div add-remove-btns"><button class="add-delete-btn" onclick="addExtraFields(this, event)" name="Add new Course" id="addBtn1">+</button></div><div class="form-div add-remove-btns remove-btn"><button class="add-delete-btn" onclick="removeExtraField(this, event)" name="Add new Course" id="addBtn1">-</button></div>');

			} else if (i == 0 ) {
				$(updatedMultipleFields[i]).append('');
			} else {
				$(updatedMultipleFields[i]).append('<div class="form-div add-remove-btns remove-btn"><button class="add-delete-btn" onclick="removeExtraField(this, event)" name="Add new Course" id="addBtn1">-</button></div>');
			}

		}

	}
</script>

<script>
	

	$("#fee_form").validate({
		ignore: ":hidden",
		rules: {
			batch_id: "required",
			course_id : "required",
			common_bs_due_date : "required",
			common_ad_due_date : "required",
			common_fee_name : "required",
			feetype : "required",
			<?php for($i = 0; $i < 20 ; $i++){
				echo "'feename[$i]' : {
					required : true,
				},";
			} ?>
			<?php for($i = 0; $i < 20 ; $i++){
				echo "'feeamount[$i]' : {
					required : true,
					digits : true
				},";
			} ?>
			<?php for($i = 0; $i < 20 ; $i++){?>
				'bsdate[<?php echo $i ?>]' : "required",
				'englishdate[<?php echo $i ?>]' : "required",
			<?php } ?>
			
		},
		messages: {
			course_id : "Please select a course id",
			batch_id : "Please select a batch id",
			common_ad_due_date : "Please select a date",
			common_bs_due_date : "Please select a date",
			common_fee_name : "Please provide a common fee name",
			feetype : "Please select a fee type",
			<?php for($i = 0; $i < 20 ; $i++){
				echo "'feename[$i]' : {
					required : 'Please provide a fee name',
				},";
			} ?>
			<?php for($i = 0; $i < 20 ; $i++){
				echo "'feeamount[$i]' : {
					required : 'Please provide a fee amount',
				},";
			} ?>
			<?php for($i = 0; $i < 20 ; $i++){?>
				'bsdate[<?php echo $i ?>]' : "Please select a date",
				'englishdate[<?php echo $i ?>]' : "Please select a date",
			<?php } ?>
			
		},
		submitHandler: function(form,e) {
			e.preventDefault();
			fee_type_id = $('#feetype').val()
			let flag = false;
			$('#Nameerr').hide();
			$('#dublicateErr').hide();

			if(fee_type_id != 1 && fee_type_id != 2 ) { // Non-Unique Validation				
				
				let feeVal = [];
				$('.feeNameClass').each(function(index,ele) {
					let val = ele.value.toLowerCase();
					feeVal.push(val);
				})

				let inputDataArr = {
					id : <?= $fees_id ?>,
					batch_id : $('#batch_id').val(),
					course_id : $('#course_id').val(),
					fee_type : $('#feetype').val(),
					fee_names : feeVal
				}

				let inputValue = JSON.stringify(inputDataArr);

				$.ajax({
					url : '<?php echo base_url() ?>' + 'admin/ajax_check_fee_names',
					data : {
						info : inputValue,
					},
					type : 'POST',
					async : false,
					success: function(data){
						console.log(data);
						if(data){
							flag = true
						} else {
							$('#dublicateErr').show();
							$('#dublicateErr').text('provided fee names have been used with the same batch,course and feetype id. Please change atleast 1 name');
						}
					}
				});

			} else { // Unique Validation

				let inputDataArr = {
					id : <?= $fees_id ?>,
					batch_id : $('#batch_id').val(),
					course_id : $('#course_id').val(),
					fee_type : $('#feetype').val(),
				}
				console.log(inputDataArr);
				let inputValue = JSON.stringify(inputDataArr);

				$.ajax({
					url : '<?php echo base_url() ?>' + 'admin/ajax_validate_fee_type',
					data : {
						info : inputValue,
					},
					type : 'POST',
					async : false,
					success: function(data){
						console.log(data);
						if(data == 'success'){
							flag = true
						} else {
							$('#dublicateErr').show();
							$('#dublicateErr').text('Application Fee and Course Fee cannot be created twice for the same batch,course,feetype combination');
						}
					}
				});

			}

			if(flag) {
				form.submit();
			}
		}
	});
</script>
<script>
	$('#cal_language').change(function() {

		$('.english-datepicker').hide();
		$('.nepali-datepicker').hide();
		$('.cm-datepicker').hide();
		

		if($(this).prop('checked')) {
			$('.nepali-datepicker').show();
			$('.cm-datepicker').show();
		} else {
			$('.english-datepicker').show();
		}
	})
</script>