
<?php $__env->startSection('title'); ?> <?php echo e(Config::get('mailshuttle.title')); ?> <?php $__env->stopSection(); ?>
<?php $__env->startSection('body'); ?>

<style type="text/css">
	*[draggable=false] {
		-moz-user-select: none;
		-khtml-user-drag: element;
		-webkit-user-drag: element;
		-khtml-user-select: none;
		-webkit-user-select: none;
		cursor: default;
	}

	.min-width-1000 {
		min-width: 1000px;
	}

	.order .heading, .vehicle .heading {
		border-bottom: 1px solid #666666 !important;
		padding: 5px 0px 5px 0px;
		margin-bottom: 10px;
	}

	.order .summary {
		position: relative;
		padding-left: 0px;
		padding-top: 0px;
		margin-bottom: 8px;

	}

	.order .summary .expander {
		position: absolute;
		left: 0px;
		top: 0px;
		bottom: 0px;
		width: 20 xp;
	}

	.order .summary .editOrder {
		position: absolute;
		left: 20px;
		top: 0px;
		bottom: 0px;
		width: 40px;
	}

	.order .summary table th {
		border: none;
		padding: 2px;
	}

	.tab-content .tab-pane {
		padding-top: 10px;
	}
</style>

<style type="text/css">
	.refParent{
		position: relative;
	}
	.refParent:hover .refPopup{
		display: inline-block;
	}
	.refPopup{
		display: none;
		position: absolute;
		left: 0px;
		top: 50%;
		transform: translateY(-50%);
		background-color: rgba(0, 0, 0, 0.7);
		color: white;
		padding: 1px 4px;
		border-radius: 2px;
	}
</style>

<style>
	.loading_details tr td{
			border: none !important;
			padding: 0px !important;
		}
	}
</style>

<style type="text/css">
.route {
	padding-top: 20px;
	min-height: 200px;
}

.route .input-group {
	width: 100%;
}

.route .col-xs-3 {
	padding-right: 0px !important;
	padding-left: 0px !important;
}

.route .direction {
	background-color: inherit;
	border: none;
}

.route .addPointWrapper {
	background-color: inherit;
	border: none;
	padding: 0px 0px 0px 5px !important;
}

.route .input-group {
	position: relative;
}

.route .input-group .removePoint {
	position: absolute !important;
	display: none;
	border: 1px solid;
	left: 45px;
	top: 2px;
	z-index: 100;
}

.route .input-group:hover .removePoint {
	display: block;
}
</style>


<style>
.trip {
	width: 100%;
}

.trip .title {
	padding-top: 5px;
	padding-bottom: 5px;
	margin-bottom: 10px;
}

.trip .tv_drop_points {
	margin-top: 40px;
}

.trip_summary .title {
	background-color: #1abc9c;
}

.ref_number:hover{
	cursor: pointer;
	background-color: #e3e2ff;
}
</style>

<ul class="nav nav-tabs" role="tablist">
	<li role="presentation" class="active">
		<a href="#step1" aria-controls="step1" role="tab" data-toggle="tab">Load Vehicles</a>
	</li>
	<li role="presentation" class="">
		<a href="#step3" aria-controls="step3" role="tab" data-toggle="tab">Summary</a>
	</li>
</ul>

<div class="tab-content">
	
	<div role="tabpanel" class="tab-pane fade in active" id="step1">
		<div class="row">
			<div class="col-xs-12 notification">

			</div>
		</div>

		<div class="row">
			<div class="col-xs-12 action" style="padding-top: 10px;">
				<div class="createTripWrapper" style="display: none;">
					<button class="btn btn-primary createTrip">Create a New Trip</button>
				</div>
				<div class="cancelTripWrapper" style="display: none;">
					<button class=" btn btn-danger cancelTrip">Delete this trip and Create New</button>
                	<button class="btn btn-success complete">Mark as complete</button>
				</div>
				<div class="updateTripWrapper" style="display: none;">
                	
					<button class="btn btn-warning updateTrip">Finish editing this trip</button>
                	<button class="btn btn-success complete">Mark as complete</button>
				</div>
			</div>
		</div>

		<div class="editor" style="display: none;">
			<div class="row">
				<div class="min-width-1000">
					<div class="col-xs-12">
						<!-- <div class="form-inline" style="margin-top: 15px;">
							<div class="form-group">
								<label class="control-label">From : </label>
								<input class="form-control order_fromDate" style="z-index: 99; position: relative;">
							</div>
							<div class="form-group">
								<label class="control-label">To : </label>
								<input class="form-control order_toDate" style="z-index: 99; position: relative;">
							</div>
							<div class="form-group">
								<button class="btn btn-primary filterOrders"><i class="fa fa-filter"></i> Filter</button>
							</div>
						</div> -->
						<div class="form-group" style="margin-top: 15px;">
							<div class="hide">

								<label style="background-color: #2ecc71; padding: 0px 4px 0px 4px !important;"><input type="checkbox" class="row_filter" value="completed"/> Completed</label>

								<label style="background-color: #f39c12; padding: 0px 4px 0px 4px !important;"><input type="checkbox" class="row_filter" value="fulfilled"/> Fulfilled</label>

								<label style="background-color: #7f8c8d; padding: 0px 4px 0px 4px !important;"><input type="checkbox" class="row_filter" value="pending" checked/> Pending</label>

								<button class="btn btn-xs btn-primary btn_row_filter" style="margin-bottom: 5px;"><i class="fa fa-filter fa-lg"></i></button>

								<!-- <i class="fa fa-stop" style="color: #f39c12;"><input type="checkbox"/>Fulfilled</i>
								<i class="fa fa-stop" style="color: #7f8c8d;"> <input type="checkbox"/>Pending</i> -->
							</div>
							<div class="table-responsive" style="max-height: 200px;">
								<table class="hide table table-bordered table-hover table-condensed detailedOrders">
									<thead>
										<tr>
											<th>Doc. Ref. Number</th>
											<th>Location</th>
											<th width="125px;">Order Weight</th>
											<th width="125px;">Order Volume</th>
											<th width="120px;">No of Cases</th>
											<th width="135px;">Delivery Number</th>
											<th>Distributor</th>
											<th width="80px" class="text-center"><i class="fa fa-gear"></i></th>
										</tr>
									</thead>
									<tbody>
										<tr><th colspan="8" class="text-center">Sorry, No results found</th></tr>
									</tbody>
								</table> 
							</div>
						</div>
					</div>
				</div>
			</div>
			
			<div class="row">
				<div class="min-width-1000" style="padding-top: 10px;">
					<div class="col-xs-6">
						<div class="form-group">
							<label class="control-label">CODs List</label>
							<div class="input-group">
								<span class="input-group-addon" style="padding: 0px 2px 0px 1px;">
									<button class="btn btn-primary btn-sm newOrder"><i
										class="fa fa-edit fa-lg"></i></button>
									</span>
									<select class="form-control ordersList chosen-select"></select>
									<span class="input-group-addon btn btn-primary saveOrder">
										<i class="fa fa-level-down"></i>
									</span>
								</div>
							</div>
						</div>
						<div class="col-xs-6">
							<div class="form-group">
								<label class="control-label">Vehicles List</label>
								<div class="input-group">
									<select class="form-control vehiclesList chosen-select"></select>
									<span class="input-group-addon btn btn-primary saveVehicle">
										<i class="fa fa-level-down"></i>
									</span>
								</div>
							</div>
						</div>
					</div>
				</div>

				<div class="row">
					<div class="min-width-1000 section1">

						<div class="col-xs-6 orders"></div>

						<div class="col-xs-6 vehicles"></div>

					</div>
				</div>

			</div>
		</div>


		<div role="tabpanel" class="tab-pane fade" id="step3">
			<div class="row" style="padding-bottom: 10px;">
				<div class="col-xs-3">
					<label class="control-label">Filter trips From</label>
					<input type="text" class="form-control tripsFilterFromDate">
				</div>
				<div class="col-xs-3">
					<label class="control-label">To</label>
					<input type="text" class="form-control tripsFilterToDate">
				</div>
				<div class="col-xs-3">
					<button class="btn btn-primary filterTrips" style="margin-top: 25px;">Filter</button>
				</div>
			</div>
			<div class="row">
				<div class="col-md-8 form-inline">
					<div class="form-group">
						<input type="text" class="trips_filter_number" placeholder="Trip Number">
						<button class="btn btn-xs btn-primary trips_filter_btn" style="margin-bottom: 5px;"><i class="fa fa-filter fa-lg"></i></button>
					</div>
					<div class="form-group">
						<label style="padding-left: 10px;"><input type="checkbox" class="no_return_cods" /> Only trips with no return cods</label>
					</div>
				</div>
			</div>
			<div class="row">
				<div class="col-xs-12 trip_summary">


				</div>
			</div>
		</div>
	</div>

	<?php echo $__env->make('map::layouts.editOrder', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>
	<?php echo $__env->make('mainshuttle::layouts.newOrder', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>

	<?php $__env->stopSection(); ?>
	<?php $__env->startSection('script'); ?>

	<script type="text/javascript">
		$(function () {
			var _token = $('meta[name="_token"]').attr('content');

			$('.chosen-select').chosen({search_contains:true});


			$(".trips_filter_btn").click(function(){
				loadSummary();
			});

			$(".no_return_cods").change(function(){
				loadSummary();
			});

			$(document).ajaxStart(function () {
				$('button, .btn').data('loading-text', '...');
				$('button, .btn').button('loading');
			}).ajaxStop(function () {
				$('button, .btn').button('reset');
			});

			var today = "<?php echo date('Y-m-d'); ?>";

			$('.destination_loading_start, .destination_loading_end').datepicker({
				dateFormat: "yy-mm-dd",
				onSelect: function(){
					$(".toDate").datepicker( "option", "minDate", new Date($('.fromDate').val()) );

				}
			});

			$(".fromDate").datepicker({
				dateFormat: "yy-mm-dd",
				onSelect: function(){
					$(".toDate").datepicker( "option", "maxDate", new Date($('.fromDate').val()) );
				}
			});
			$(".toDate").datepicker({
				dateFormat: "yy-mm-dd",
				onSelect: function(){
					$(".fromDate").datepicker( "option", "maxDate", new Date($('.toDate').val()) );
				}
			});

			$('.order_fromDate').datepicker({
				dateFormat: "yy-mm-dd",
				onSelect: function(){
					$(".order_toDate").datepicker( "option", "minDate", new Date($('.order_fromDate').val()) );

				}
			});
			$(".order_toDate").datepicker({
				dateFormat: "yy-mm-dd",
				onSelect: function(){
					$(".order_fromDate").datepicker( "option", "maxDate", new Date($('.order_toDate').val()) );

				}
			});

			$('.tripsFilterFromDate').datepicker({
				dateFormat: "yy-mm-dd",
				onSelect: function(){
					$(".tripsFilterToDate").datepicker( "option", "minDate", new Date($('.tripsFilterFromDate').val()) );

				}
			});
			$(".tripsFilterToDate").datepicker({
				dateFormat: "yy-mm-dd",
				onSelect: function(){
					$(".tripsFilterFromDate").datepicker( "option", "maxDate", new Date($('.tripsFilterToDate').val()) );

				}
			});

			$.typeahead({
				input: '.no_distributor',
				order: 'asc',
				source: {
					distributors: {
						ajax: {
							method: "POST",
							url: "<?php echo e(url('/order/load_distributors')); ?>",
							data: {_token: _token}
						}
					}
				},
				minLength: 1,
				dynamic: true
			});

			$(document).on('click', '.orders .orderItem', function () {
				$(this).select();
			});

			preload_incompleteTrip();
			loadSummary();
			// load_ordersList();
			load_vehiclesList();
			// loadSummary();
            /****

			$.dragdrop({
				section: '.section1',
				ondrop: function ($from, $to) {
					dropItem($from, $to);
				}
			});

			$.dragdrop({
				section: '.section1',
				drag: '.summary table',
				ondrop: function ($from, $to) {
					dropSummary($from, $to);
				}
			});****/

			$(document).on('click', '.setTakeOffDate', function(){
				var $input = $(this).parent('span').find('input');
				var id = $(this).val();
				var date = $input.val();
				$.clearHighlights();
				if(date.length > 0 && $.isValidDate(date)){
					saveTakeoffDate({id: id, date: date});
				}else{
					$input.highlightElement({'msg': 'Invalid date'});
				}
			});

			$(document).on("change", ".trip_types_list", function(){
				var data = {
					id: $(this).data("trip_vehicle_id"),
					type: $(this).val()
				};
				setTripType(data);
			});

			function setTripType(data){
				$.post("<?php echo e(url('/mainshuttle/setTripType')); ?>", {_token: _token, data: data}, function(e){
					throwError(e);
				}, 'json');
			}

			$(document).on("click", ".save_loading_details", function(){
				var data = {
					id: $(this).data("id"),
					bay: $(this).closest("table").find(".loading_bay").val(),
					officer: $(this).closest("table").find(".loading_officer").val(),
					start: $(this).closest("table").find(".loading_start").val(),
					end: $(this).closest("table").find(".loading_end").val()
				};
				save_loading_details(data);
			});

			function save_loading_details(data){
				$.post("<?php echo e(url('/map/save_loading_details')); ?>", {_token: _token, data: data}, function(e){
					throwError(e, function(){
						loadSummary();
					});
				}, 'json');
			}

			$(document).on("click", ".printOrderSummary", function(e){
				e.stopPropagation();
				var params = {
					oid: $(this).data('order_id'),
					ovveride: 0
				}
				$.post("<?php echo e(url('/map/delivery_note_printed')); ?>", {_token: _token, data: params}, function(e){
					if(e != undefined && typeof(e) == "object" && e.hasOwnProperty("ok")){
						if(e.ok == 1){
							if(e.result == true){

								bootbox.dialog({
									title: "Delivery Note Reprint",
									message: "Delivery note already printed under No. " + e.number + ". Please choose an option.",
									buttons: {
									    cancel: {
									        label: "Dismiss",
									        className: 'btn-info'
									    },
									    print_under_same: {
									        label: "Reprint under same number",
									        className: 'btn-warning',
									        callback: function(){
												window.location = "<?php echo e(url('/map/pdf2?')); ?>" + $.param(params);
									        }
									    },
									    print_under_new: {
									        label: "Reprint under a new number",
									        className: 'btn-danger',
									        callback: function(){
									            params.ovveride = 1;
												window.location = "<?php echo e(url('/map/pdf2?')); ?>" + $.param(params);
									        }
									    }
									}
								});

							}else{
								window.location = "<?php echo e(url('/map/pdf2?')); ?>" + $.param(params);
							}
						}else{
							$.notify.error(e.msg);
						}
					}
				}, "json");
				// window.location = "<?php echo e(url('/map/pdf2?')); ?>" + $.param(params);
			});

			$(".filterTrips").click(function(){
				loadSummary();
			});

			$('.filterOrders').click(function(){
				load_detailedOrders();
				// load_ordersList();
			});

			$(".filterOrdersTable").click(function(){
				var data = {
					fromDate: $(".order_fromDate").val(),
					toDate: $(".order_toDate").val()
				};
				newOrder_loadOrder(data);
			});

			$('.createTrip').click(function () {
				createTrip();
			});

			$('.cancelTrip').click(function () {
				var id = $(this).val();
				bootbox.confirm("Are you sure you want to delete this trip and create a new trip?", function (r) {
					if (r) {
						cancelTrip(id);
					}
				});
			});

			$('.updateTrip').click(function () {
				$('.notification').html('');
				resetActions('save');
			});

			$('.saveOrder').click(function () {
				saveOrder($('.ordersList').val());
			});

			$('.saveVehicle').click(function () {
				saveVehicle($('.vehiclesList').val());
			});

			$('.complete').click(function () {
				var data = {
					trip_id: $('.cancelTrip').val()
				};
				completeTrip(data);
			});

			$('.save').click(function () {
				var size = $('.route .point').length;

				var data = {
					trip_id: $('.cancelTrip').val() != undefined ? $('.cancelTrip').val() : $('.save').val(),
					vehicle_id: $('.tripVehiclesList').val(),
					starting_location: $('.startingLocationsList').val(),
					ending_location: $('.endingLocationsList').val(),
					points: []
				};

				if ($('.route .point').length > 0) {
					$($('.route .point')).each(function (i) {
						if ($('option:selected', $(this)).data('location_id') == undefined) {
							$.notify.error('<b>Some drop points are empty</b>');
							return false;
						} else {
							data.points.push({
								id: $('option:selected', $(this)).data('id'),
								location_id: $('option:selected', $(this)).data('location_id'),
								seal_number: $(this).closest(".wrapper").find(".seal_number").val(),
								feedback_sheet_number: $(this).closest(".wrapper").find(".feedback_sheet_number").val()
							});
							if ((++i) == size) {
								save(data);
							}
						}
					});
				} else {
					save(data);
				}
			});

			$('.tripVehiclesList').change(function () {
				var trip_id = $('.cancelTrip').val() != undefined ? $('.cancelTrip').val() : $(".save").val();
				preload_trip(trip_id, $(this).val());
			});
			$(document).on('click', '.origin, .destination', function(){
    			var id = $(this).val();
    			var origin_loading_start = $(".origin_loading_start").val();
    			var origin_loading_end = $(".origin_loading_end").val();
    			var destination_loading_start = $(".destination_loading_start").val();
    			var destination_loading_end = $(".destination_loading_end").val();
    			var empty_type = '';
                $("input:checkbox[name=empty_type]:checked").each(function(){
                    empty_type += $(this).val();
                    empty_type += ',';
                });
                
                var arr = {id:id,empty_type:empty_type, origin_loading_start:origin_loading_start, origin_loading_end:origin_loading_end, destination_loading_start:destination_loading_start, destination_loading_end:destination_loading_end};
    			saveOriginAndDestination(arr);
            })
            
            
			$(document).on('click', '.palletsAllocation', function(){
				var $input = $(this).parent('div').find('input');
				var id = $(this).val();
				var pallets_allocation = $input.val();
				$.clearHighlights();
				if($.isDouble(pallets_allocation) && +pallets_allocation >= 0){
					if(pallets_allocation.length > 0){
						savepalletsAllocation({id: id, pallets_allocation: pallets_allocation});
					}
				}else{
					$input.highlightElement({'msg': 'Invalid amount'});
				}
			});

			$(document).on('click', '.nonPalletsAllocation', function(){
				var $input = $(this).parent('div').find('input');
				var id = $(this).val();
				var non_pallets_allocation = $input.val();
				$.clearHighlights();
				if($.isDouble(non_pallets_allocation) && +non_pallets_allocation >= 0){
					if(non_pallets_allocation.length > 0){
						saveNonPalletsAllocation({id: id, non_pallets_allocation: non_pallets_allocation});
					}
				}else{
					$input.highlightElement({'msg': 'Invalid amount'});
				}
			});
            
            
            
			$(document).on('change', '.shuttlelocationcombinationid', function(){
            	var val = $(this).val();
                val = val.split('__');
			    var cost = val[1];
              	$("input.shuttlelocationcombinationspan").val(cost);
           })

			$(document).on('click', '.shuttle_location_combination_id', function(){
			 
				var $select = $(this).parent('div').find('select');
				var $input = $(this).parent('div').find('input');
				var id = $(this).val();
				var val = $select.val();
				var cost = $input.val();
                
				$.clearHighlights()
                val = val.split('__');
			    var shuttle_location_combination_id= val[0];
                
				if(shuttle_location_combination_id > 0){
					if(shuttle_location_combination_id.length > 0){
						saveShuttleLocationCombinationId({id: id, cost: cost, shuttle_location_combination_id: shuttle_location_combination_id});
					}
				}else{
					$select.css({'border': '1px solid red'});
                    $.notify.error("<b>Please select Location Combination.</b>");
				}
			});

			$(document).on('click', '.deleteItem', function () {
				var id = $(this).val();
				if (id != undefined && id != null && id != '') {
					bootbox.confirm('Are you sure you want to delete this record?', function (r) {
						if (r) {
							deleteItem(id);
						}
					});
				} else {
					$.notify.error("<b>Invalid record selected.</b>");
				}
			});

			$(document).on('click', '.deleteOrder', function () {
				var id = $(this).data('trip_order_id');
				bootbox.confirm('Are you sure you want to remove this order?', function (r) {
					if (r) {
						deleteOrder(id);
					}
				});
			});

			$(document).on('click', '.deleteVehicle', function () {
				var id = $(this).data('trip_vehicle_id');
				bootbox.confirm('Are you sure you want to remove this vehicle?', function (r) {
					if (r) {
						deleteVehicle(id);
					}
				});
			});

			$(document).on('click', '.addPoint', function () {
				var data = {
					trip_id: $('.cancelTrip').val(),
					vehicle_id: $('.tripVehiclesList').val()
				};
				addPoint(data);
			});

			$(document).on('click', '.removePoint', function () {
				var id = $(this).data('id');
				bootbox.confirm('Are you sure you want to delete this location?', function (r) {
					if (r) {
						removePoint(id);
					}
				});
			});

			$(document).on('click', '.editTrip', function () {
				var trip_id = $(this).data('trip_id');
				var msg = 'You are currently editing trip <strong>#' + trip_id + '</strong>.';
				setNotification(msg);
				resetActions('update', trip_id);

				$('a[href="#step1"]').trigger('click');
				$('a[href="#step2"]').trigger('click');

			});

			$(document).on('click', '.deleteTrip', function () {
				var id = $(this).data('trip_id');
				bootbox.confirm("Are you sure you want to delete this trip?", function (r) {
					if (r) {
						cancelTrip(id);
					}
				});
			});

			$(document).on('click', '.expander', function () {
				var target_oid = $(this).closest('.order').data('order_id');
				$('.orders .order').each(function () {
					var oid = $(this).data('order_id');
					if (oid != target_oid) {
						if ($(this).find('.results').is(':visible')) {
							$(this).find('.results').slideToggle();
						}
					}
				});
				$('.results', $(this).closest('.body')).slideToggle();
			});

			$(document).on('click', '.editOrder', function () {
				var data = {
					trip_id: $(this).data('trip_id'),
					order_id: $(this).data('order_id')
				};
				editOrder_loadOrder(data);
			});

			$(document).on('click', '.eo_editItem', function () {
				editOrder_environment('update');

				$('.eo_code').prop('disabled', true);
				$('.eo_name').prop('disabled', true);
				$('.eo_volume').prop('disabled', true);
				$('.eo_weight').prop('disabled', true);

				$('.eo_update').data('item_id', $(this).data('item_id'));
				$('.eo_code').val($(this).data('item_code'));
				$('.eo_name').val($(this).data('item_name'));
				$('.eo_volume').val($(this).data('item_volume'));
				$('.eo_weight').val($(this).data('item_weight'));
				$('.eo_qty').val($(this).data('item_qty'));
			});

			$(document).on('click', '.eo_deleteItem', function () {
				var data = {
					trip_id: $(this).data('trip_id'),
					order_id: $(this).data('order_id'),
					item_id: $(this).data('item_id')
				};
				bootbox.confirm('Are you sure you want to delete this item?', function (r) {
					if (r) {
						editOrder_deleteItem(data);
					}
				});
			});

			$(document).on('click', '.bulkDropDelete', function () {
				var id = $(this).data('id');
				bootbox.confirm('Are you sure you want to delete record?', function (r) {
					if (r) {
						bulkDropDelete(id);
					}
				});
			});

			$(document).on('click', '.gatePass', function (e) {
				e.stopPropagation();
				
				var trip_id = $(this).data('trip_id');
				var gatepass_date = $(".gatepass_date", $(this).closest(".gatepass_date_tracker")).val();
				var params = {
					id: $(this).data('id'),
					orders: $(this).data('orders'),
					trip_id: $(this).data('trip_id'),
					vehicle: $(this).data('vehicle'),
					goodsCost: $(this).data('goodscost'),
					points : $(this).data('points'),
					takeoff : $(this).data('takeoff'),
					gatepass_date : gatepass_date
				}

				window.location = "<?php echo e(url('/map/pdf?')); ?>" + $.param(params);
			});

			$(document).on('click', '.endTrip', function (e){
				e.stopPropagation();
				var that = $(this);
				var trip_id = $(this).data('trip_id');

				$.post("<?php echo e(url('/map/endTrip')); ?>", {_token: _token, trip_id: $(this).data('trip_id'), vehicle: $(this).data('vehicle')}, function (e) {
					if(e.status == true){
						that.removeClass('btn-warning').addClass('btn-success')
						setTimeout(function (){
							$(".endedTrip").attr('disabled', true);
							that.html('Ended Trip <span class="fa fa-car"></span>').attr('disabled', true);
						}, 1000);
					}
				}, 'json');
			});

			function saveTakeoffDate(data){
				$.post("<?php echo e(url('/mainshuttle/saveTakeoffDate')); ?>", {_token: _token, data: data}, function(e){
					throwError(e, function(){
						preload_trip(e);
					});
				}, 'json');
			}

			function saveShuttleLocationCombinationId(data){
				$.post("<?php echo e(url('/mainshuttle/saveShuttleLocationCombinationId')); ?>", {_token: _token, data: data}, function(e){
					throwError(e, function(){
						preload_trip(e);
					});
				}, 'json');
			}
			function saveOriginAndDestination(data){
				$.post("<?php echo e(url('/mainshuttle/saveOriginAndDestination')); ?>", {_token: _token, data: data}, function(e){
					throwError(e, function(){
						preload_trip(e);
					});
				}, 'json');
			}
            
            
			function savepalletsAllocation(data){
				$.post("<?php echo e(url('/mainshuttle/savepalletsAllocation')); ?>", {_token: _token, data: data}, function(e){
					throwError(e, function(){
						preload_trip(e);
					});
				}, 'json');
			}

			function saveNonPalletsAllocation(data){
				$.post("<?php echo e(url('/mainshuttle/saveNonPalletsAllocation')); ?>", {_token: _token, data: data}, function(e){
					throwError(e, function(){
						preload_trip(e);
					});
				}, 'json');
			}

			// $(".row_filter").change(function(){
			// 	load_detailedOrders();
			// });

			$(".btn_row_filter").click(function(){
				load_detailedOrders();
			});

			function load_detailedOrders(){
				var row_classes = [];
				$(".row_filter:checked").each(function(){
					row_classes.push($(this).val());
				});

				var data = {
					fromDate: $('.fromDate').val(),
					toDate: $('.toDate').val()
				};
				var $tbody = $('.detailedOrders tbody');
				var $select = $('.ordersList');
				$.post("<?php echo e(url('/mainshuttle/newOrder_loadOrder_filtered')); ?>", {_token: _token, data: data}, function(e){
					var tbody = '';
					var options = '';
					if (e != undefined && typeof(e) == 'object' && e.hasOwnProperty('orders')) {
						$.each(e.orders, function(i, k){
						//	if($.inArray(k.status, row_classes) == -1){ return true; }//skipping rows

							var property = '';
							var row_class = '';
							if(k.status == 'completed'){
								property = 'style="background-color: #2ecc71;"';
								row_class = "row_complete";
							}else if(k.status == 'fulfilled'){
								property = 'style="background-color: #f39c12;"';
								row_class = "row_fulfilled";
							}else if(k.status == 'pending'){
								property = 'style="background-color: #f9f9f9;"';
								row_class = "row_pending";
							}

							tbody += '<tr '+property+' class="'+ row_class +'">';
							tbody += '<td>'+ k.num +'</td>';
							tbody += '<td>'+ k.name +'</td>';
							tbody += '<td>'+ k.orderWeight +'</td>';
							tbody += '<td>'+ k.orderVolume +'</td>';
							tbody += '<td>'+ k.cases +'</td>';
							tbody += '<td>'+ k.deliveryNumber +'</td>';
							tbody += '<td>'+ k.distributor +'</td>';
							tbody += '<td class="text-center">';
							tbody += '<div class="btn-group">';
							tbody += '  <button style="border: 1px solid #CCCCCC; padding: 2px 8px 2px 8px;" class="btn btn-sm addDetailedOrder" data-id="'+ k.id +'"><i class="fa fa-lg fa-level-down"></i></button>';

							if(k.status == 'completed'){
								tbody += '	<button class="btn btn-sm undoOrderComplete" style="border: 1px solid #CCCCCC; padding: 2px 4px 2px 4px;" data-id="'+ k.id +'"><i class="fa fa-lg fa-circle-o" style="color: #C9302C;"></i></button>';
							}else{
								tbody += '	<button class="btn btn-sm markOrderComplete" style="border: 1px solid #CCCCCC; padding: 2px 4px 2px 4px;" data-id="'+ k.id +'"><i class="fa fa-lg fa-check-circle" style="color: green;"></i></button>';
							}


							tbody += '</div>';
							tbody += '</td>';
							tbody += '</tr>';

							options += '<option value="' + k.id + '">Doc. Ref. ' + k.sap_ref + ' (Trip Ref: ' + k.num + ')</option>';
						});
					}else{
						tbody = '<tr><th colspan="8" class="text-center">Sorry, No orderes found.</th></tr>';
						options = '<option>No CODsd added.</option>';
					}
				//	$tbody.html(tbody);
					$select.html(options);

					$(".chosen-select").trigger("chosen:updated");
				}, 'json');
			}

			function bulkDropDelete(id) {
				if (id != undefined && id != '' && $.isInt(id)) {
					$.post("<?php echo e(url('/mainshuttle/bulkDropDelete')); ?>", {_token: _token, id: id}, function (e) {
						// if (e != undefined && e != null && e != '') {
						// 	preload_trip(e);
						// }
						//above lines are commented cuz we need to check if order is already completed
						throwError(e, function(){
							preload_trip(e);
						});
					}, 'json');
				}
			}

			$('.newOrder').click(function () {
				var data = {
					fromDate: $(".order_fromDate").val(),
					toDate: $(".order_toDate").val()
				};
				newOrder_loadOrder(data);
			});

			$('#modal_editOrder').on('show.bs.modal', function (e) {
				editOrder_environment('save');
			});

			$('#modal_editOrder').on('hidden.bs.modal', function (e) {
				preload_trip($('.cancelTrip').val());
			});

			$('#modal_newOrder').on('show.bs.modal', function (e) {
				newOrder_environment('save');
			});

			$('#modal_newOrder').on('hidden.bs.modal', function (e) {
				preload_trip($('.cancelTrip').val());
				// load_ordersList();
				load_detailedOrders();
			});

			$('#modal_editOrder .eo_cancel').click(function () {
				$('.eo_code').prop('disabled', false);
				$('.eo_name').prop('disabled', false);
				$('.eo_volume').prop('disabled', false);
				$('.eo_weight').prop('disabled', false);
				editOrder_environment('save');
			});

			$('#modal_editOrder .eo_save').click(function () {
				var data = {
					trip_id: $(this).data('trip_id'),
					order_id: $(this).data('order_id'),
					item_id: $(this).data('item_id'),
					eo_code: $('.eo_code').val(),
					eo_name: $('.eo_name').val(),
					eo_volume: $('.eo_volume').val(),
					eo_weight: $('.eo_weight').val(),
					eo_qty: $('.eo_qty').val()
				};
				editOrder_saveItem(data);
			});

			$('#modal_editOrder .eo_update').click(function () {
				var data = {
					trip_id: $(this).data('trip_id'),
					order_id: $(this).data('order_id'),
					item_id: $(this).data('item_id'),
					eo_code: $('.eo_code').val(),
					eo_name: $('.eo_name').val(),
					eo_volume: $('.eo_volume').val(),
					eo_weight: $('.eo_weight').val(),
					eo_qty: $('.eo_qty').val()
				};
				editOrder_updateItem(data);
			});

			$('.eo_itemsList').change(function () {
				if ($(this).val() != '') {
					editOrder_environment('clear');

					$('.eo_code').prop('disabled', true);
					$('.eo_name').prop('disabled', true);
					$('.eo_volume').prop('disabled', true);
					$('.eo_weight').prop('disabled', true);

					var item_id = $('option:selected', $(this)).val();
					var code = $('option:selected', $(this)).data('item_code');
					var name = $('option:selected', $(this)).data('item_name');
					var volume = $('option:selected', $(this)).data('item_volume');
					var weight = $('option:selected', $(this)).data('item_weight');

					$('.eo_save').data('item_id', item_id);
					$('.eo_code').val(code);
					$('.eo_name').val(name);
					$('.eo_volume').val(volume);
					$('.eo_weight').val(weight);

				} else {
					editOrder_environment('clear');

					$('.eo_code').prop('disabled', false);
					$('.eo_name').prop('disabled', false);
					$('.eo_volume').prop('disabled', false);
					$('.eo_weight').prop('disabled', false);
				}
			});

			$('.no_cancel').click(function () {
				newOrder_environment('save');
			});

			$('.no_update').click(function () {
				var data = {
					trip_id: $('.cancelTrip').val(),
					id: $(this).data('order_id'),
					no_locationsList: $('.no_locationsList').val(),
					no_weight: $('.no_weight').val(),
					no_volume: $('.no_volume').val(),
					'no_num' : $('.no_num').val(),
					'no_noc' : $('.no_noc').val(),
					'no_value' : $('.no_value').val(),
					'no_delivery' : $('.no_delivery').val(),
					'plan_date' : $('.plan_date').val(),
					'sap_ref' : $('.sap_ref').val(),
					'no_distributor' : $('.no_distributor').val()
				};
				newOrder_updateOrder(data);
			});

			$('.no_save').click(function () {
				var data = {
					'no_num': $('.no_num').val(),
					'no_locationsList': $('.no_locationsList').val(),
					'no_volume': $('.no_volume').val(),
					'no_weight': $('.no_weight').val(),
					'no_noc' : $('.no_noc').val(),
					'no_value' : $('.no_value').val(),
					'no_delivery' : $('.no_delivery').val(),
					'no_distributor' : $('.no_distributor').val(),
					'sap_ref' : $('.sap_ref').val(),
					'plan_date' : $('.plan_date').val()
				};
				newOrder_saveOrder(data);
			});

			$(document).on('click', '.addDetailedOrder', function(){
				var id = $(this).data('id');
				saveOrder(id);
			});

			$(document).on('click', '.markOrderComplete', function(){
				var id = $(this).data('id');
				bootbox.confirm('Are you sure you want to mark this order as complete?', function(r){
					if(r){
						markOrderComplete(id);
					}
				});
			});

			$(document).on('click', '.undoOrderComplete', function(){
				var id = $(this).data('id');
				bootbox.confirm('Are you sure you want to mark this order as <b class="text-danger">incomplete?</b>', function(r){
					if(r){
						undoOrderComplete(id);
					}
				});
			});

			// $(document).on('click', '.no_edit', function () {
			// 	newOrder_environment('update');
			// 	$('.no_location_name').html($(this).data('location_name'));
			// 	$('.no_update').data('order_id', $(this).data('id'));
			// 	$('.no_locationsList').val($(this).data('location_id'));
			// 	$('.no_weight').val($(this).data('order_weight'));
			// 	$('.no_volume').val($(this).data('order_volume'));
			// 	$('.no_num').val($(this).data('order_num'));
			// 	$('.no_noc').val($(this).data('noc'));
			// 	$('.no_value').val($(this).data('value'));
			// 	$('.no_delivery').val($(this).data('delivery'));
			// 	$('.no_distributor').val($(this).data('distributor'));
			// });

			// $(document).on('click', '.no_delete', function () {
			// 	var id = $(this).data('id');
			// 	bootbox.confirm('Are you sure you want to delete this order?', function (r) {
			// 		if (r) {
			// 			newOrder_deleteOrder(id);
			// 		}
			// 	});
			// });

			$(document).on('click', '.no_orders .dropdown-menu li a', function(){
                switch($(this).data("cvalue")){

                    case "no_edit":
                        newOrder_environment('update');
						$('.no_location_name').html($(this).data('location_name'));
						$('.no_update').data('order_id', $(this).data('id'));
						$('.no_locationsList').val($(this).data('location_id'));
						$('.no_weight').val($(this).data('order_weight'));
						$('.no_volume').val($(this).data('order_volume'));
						$('.no_num').val($(this).data('order_num'));
						$('.no_noc').val($(this).data('noc'));
						$('.no_value').val($(this).data('value'));
						$('.no_delivery').val($(this).data('delivery'));
						$('.sap_ref').val($(this).data('sap_ref'));
						$('.plan_date').val($(this).data('plan_date'));
						$('.no_distributor').val($(this).data('distributor'));
						$(".chosen-select").trigger("chosen:updated");
                    break;
                    case "no_delete":
                        var id = $(this).data('id');
						bootbox.confirm('Are you sure you want to delete this order?', function (r) {
							if (r) {
								newOrder_deleteOrder(id);
							}
						});
                    break;
                    case "no_disable":

                        var id = $(this).data('id');
                        bootbox.prompt({
                            title: "A comment is required to disable this order.",
                            inputType: 'textarea',
                            callback: function (result) {
                                if(result != null){
                                    if(result.trim().length > 0){
                                        var comment = result.trim();
                                        newOrder_disableOrder(id, comment);
                                    }else{
                                        $.notify.error("<b>A comment is needed.</b>");
                                    }
                                }
                            }
                        });

                    break;

                    case "no_enable":
                        var id = $(this).data('id');
                        newOrder_enableOrder(id);
                    break;
                }
            });


            function newOrder_enableOrder(id){
                $.post("<?php echo e(url('/map/newOrder_enableOrder')); ?>", {_token: _token, id: id}, function(e){
                    $.highlightOrThrow(e, function () {
						newOrder_environment('save');
						newOrder_loadOrder();
					});
                }, 'json');
            }

            function newOrder_disableOrder(id, comment){
                $.post("<?php echo e(url('/map/newOrder_disableOrder')); ?>", {_token: _token, id:id, comment: comment}, function(e){
                    $.highlightOrThrow(e, function () {
						newOrder_environment('save');
						newOrder_loadOrder();
					});
                }, 'json');
            }


			function markOrderComplete(id){
				if(typeof(id) == 'number'){
					$.post("<?php echo e(url('/mainshuttle/markOrderComplete')); ?>", {_token: _token, id: id}, function(e){
						$.highlightOrThrow(e, function () {
							load_detailedOrders();
						});
					}, 'json');
				}else{
					$.notify.error('<b>Invalid record selected.</b>');
				}
			}

			function undoOrderComplete(id){
				if(typeof(id) == 'number'){
					$.post("<?php echo e(url('/mainshuttle/undoOrderComplete')); ?>", {_token: _token, id: id}, function(e){
						$.highlightOrThrow(e, function(){
							load_detailedOrders();
						});
					}, 'json');
				}else{
					$.notify.error('<b>Invalid record selected.</b>');
				}
			}

			function newOrder_deleteOrder(id) {
				$.post("<?php echo e(url('/mainshuttle/newOrder_deleteOrder')); ?>", {_token: _token, id: id}, function (e) {
					$.highlightOrThrow(e, function () {
						newOrder_environment('save');
						newOrder_loadOrder();
					});
				}, 'json');
			}

			function newOrder_saveOrder(data) {
				$.post("<?php echo e(url('/mainshuttle/newOrder_saveOrder')); ?>", {_token: _token, data: data}, function (e) {
					$.highlightOrThrow(e, function () {
						newOrder_environment('save');
						newOrder_loadOrder();
					});
				}, 'json');
			}

			function newOrder_updateOrder(data) {
				$.post("<?php echo e(url('/mainshuttle/newOrder_updateOrder')); ?>", {_token: _token, data: data}, function (e) {
					$.highlightOrThrow(e, function () {
						newOrder_environment('save');
						newOrder_loadOrder();
					});
				}, 'json');
			}

			function newOrder_environment(method) {
				$.clearHighlights();
				$('.chosen-select').trigger('chosen:updated');
				
				$('.no_update').data('order_id', '');
				$('.no_location_name').html('');
				$('.no_locationsList').val('');
				$('.no_weight').val('');
				$('.no_volume').val('');

				$('.no_num').val('');
				$('.no_noc').val('');
				$('.no_value').val('');
				$('.no_delivery').val('');
				$('.no_distributor').val('');

				if (typeof(method) == 'string') {
					if (method == 'save') {
						$('.no_updateWrapper').hide();
						$('.no_saveWrapper').show();
					} else if (method == 'update') {
						$('.no_saveWrapper').hide();
						$('.no_updateWrapper').show();
					}
				}
			}

			function newOrder_loadOrder(data) {
				var data = data || {};
				newOrder_environment('save');
				$.post("<?php echo e(url('/mainshuttle/newOrder_loadOrder')); ?>", {_token: _token, data: data}, function (e) {

					if (e != undefined && typeof(e) == 'object' && e.hasOwnProperty('locations') && e.hasOwnProperty('orders')) {

						var orders = e.orders;
						var locations = e.locations;


						var sdom = '<option value="">Select a location</option>';
						if (Object.keys(locations).length > 0) {
							$.each(locations, function (i, location) {
								sdom += '<option value="' + location.id + '">' + location.name + '</option>';
							});
						} else {
							sdom = '<option value="">No locations found</option>';
						}
						$('.no_locationsList').html(sdom);


						var tdom = '';
						if (Object.keys(orders).length > 0) {
							$.each(orders, function (i, order) {
								tdom += '<tr '+ (order.disabled ? "style=\'background-color:#7f8c8d;\' data-toggle=\'tooltip\' title=\'"+ order.comment +"\'" : "") +' >';
								tdom += '<td>' + order.sap_ref + '</td>';
								// tdom += '<td>' + order.name + '</td>';
								tdom += '<td class="ref_number">' + order.num + '</td>';
								tdom += '<td>' + order.orderWeight + '</td>';
								tdom += '<td>' + order.orderVolume + '</td>';

								tdom += '<td class="text-center">';
                                tdom += '    <div class="dropdown">';
                                tdom += '        <button type="button" class="btn btn-default btn-xs" aria-haspopup="true" data-toggle="dropdown" aria-expanded="true">';
                                tdom += '            <i class="fa fa-list"></i>';
                                tdom += '        </button>';
                                tdom += '        <ul class="dropdown-menu dropdown-menu-right">';

                                tdom += '            <li><a data-cvalue="no_edit" data-id="' + order.id + '" data-sap_ref="' + order.sap_ref + '" data-plan_date="' + order.plan_date + '" data-order_num="' + order.num + '" data-location_id="' + order.shuttle_location_id + '" data-location_name="' + order.name + '" data-order_weight="' + order.orderWeight + '" data-order_volume="' + order.orderVolume + '" data-noc="'+ order.cases +'" data-value="'+ order.value +'" data-delivery="'+ order.deliveryNumber +'" data-distributor="'+ order.distributor +'">Update</a></li>';

                                if(order.disabled){
                                    tdom += '            <li><a data-cvalue="no_enable" data-id="' + order.id + '">Enable</a></li>';
                                }else{
                                    tdom += '            <li><a data-cvalue="no_disable" data-id="' + order.id + '">Disable</a></li>';
                                }

                                tdom += '            <li><a data-cvalue="no_delete" data-id="' + order.id + '">Delete</a></li>';
                                tdom += '        </ul>';
                                tdom += '    </div>';
                                tdom += '</td>';

								// tdom += '<td>';
								// tdom += '<div class="btn-group">';
								// tdom += '	<button class="btn btn-warning btn-xs no_edit" data-id="' + order.id + '" data-order_num="' + order.num + '" data-location_id="' + order.location_id + '" data-location_name="' + order.name + '" data-order_weight="' + order.orderWeight + '" data-order_volume="' + order.orderVolume + '" data-noc="'+ order.cases +'" data-value="'+ order.value +'" data-delivery="'+ order.deliveryNumber +'" data-distributor="'+ order.distributor +'"><i class="fa fa-pencil"></i></button>';
								// tdom += '	<button class="btn btn-danger btn-xs no_delete" data-id="' + order.id + '"><i class="fa fa-close"></i></button>';
								// tdom += '<div>';
								// tdom += '</td>';
								tdom += '</tr>';

								// if(order.next_order_number != null){
        //                             if(+order.num > (+order.next_order_number+1)){
        //                                 var missing = (+order.num - +order.next_order_number) - 1;

        //                                 tdom += '<tr style="background-color: #f1c40f;">';
        //                                 if(missing > 1){
        //                                     tdom += '<td colspan="5" class="text-center"><b>( ' + (+order.next_order_number + 1) + ' - ' + (order.num - 1) + ' )</b> '+ missing +' invoices missing </td>';
        //                                 }else{
        //                                     tdom += '<td colspan="5" class="text-center"><b>( '+ (+order.num - 1) +' )</b> '+ missing +' invoice missing</td>';
        //                                 }
        //                                 tdom += '</tr>';
        //                             }
        //                         }
							});
						} else {
							tdom += '<tr><th class="text-center" colspan="5">Sorry, No orders added.</th></tr>';
						}
						$('.no_orders tbody').html(tdom);
						$('[data-toggle="tooltip"]', '.no_orders tbody').tooltip();
					}


					$('#modal_newOrder').modal('show');
				}, 'json');
			}

			function editOrder_deleteItem(data) {
				$.post("<?php echo e(url('/map/editOrder_deleteItem')); ?>", {_token: _token, data: data}, function (e) {
					$.highlightOrThrow(e, function () {
						editOrder_environment('save');
						editOrder_loadOrder(data);
					});
				}, 'json');
			}

			function editOrder_updateItem(data) {
				$.post("<?php echo e(url('/map/editOrder_updateItem')); ?>", {_token: _token, data: data}, function (e) {
					$.highlightOrThrow(e, function () {
						editOrder_environment('save');
						editOrder_loadOrder(data);
					});
				}, 'json');
			}

			function editOrder_saveItem(data) {
				$.post("<?php echo e(url('/map/editOrder_saveItem')); ?>", {_token: _token, data: data}, function (e) {
					$.highlightOrThrow(e, function () {
						editOrder_environment('save');
						editOrder_loadOrder(data);
					});
				}, 'json');
			}

			function editOrder_environment(method) {
				$.clearHighlights();
				$('.eo_code').val('');
				$('.eo_name').val('');
				$('.eo_volume').val('');
				$('.eo_weight').val('');
				$('.eo_qty').val('');
				if (typeof(method) == 'string') {
					if (method == 'save') {
						$('.eo_updateWrapper').hide();
						$('.eo_saveWrapper').show();
						$('.eo_newItemWrapper').show();
						$('.eo_save').data('item_id', "");
					} else if (method == 'update') {
						$('.eo_saveWrapper').hide();
						$('.eo_updateWrapper').show();
						$('.eo_newItemWrapper').hide();
					} else if (method == 'clear') {
						$('.eo_save').data('item_id', "");
					}
				}
			}

			function editOrder_loadOrder(data) {
				var $modal = $('#modal_editOrder');
				editOrder_environment('save');
				if (data.order_id != undefined && data.order_id != '') {

					$('.eo_save, .eo_update').data('trip_id', data.trip_id);
					$('.eo_save, .eo_update').data('order_id', data.order_id);

					$('.eo_code').prop('disabled', false);
					$('.eo_name').prop('disabled', false);
					$('.eo_volume').prop('disabled', false);
					$('.eo_weight').prop('disabled', false);

					$.post("<?php echo e(url('/map/editOrder_loadOrder')); ?>", {_token: _token, data: data}, function (e) {
						if (e != undefined && typeof(e) == 'object' && Object.keys(e).length > 0 && e.hasOwnProperty('order') && e.hasOwnProperty('items') && e.hasOwnProperty('count') && e.hasOwnProperty('itemsList') && typeof(e.items) == 'object' && typeof(e.itemsList) == 'object') {

							var order = e.order;
							var items = e.items;
							var count = e.count;
							var itemsList = e.itemsList;

							var sdom = '<option value="">Create new item</option>';
							$.each(itemsList, function (i, item) {
								sdom += '<option value="' + item.id + '" data-item_code="' + item.code + '" data-item_name="' + item.name + '" data-item_volume="' + item.volume + '" data-item_weight="' + item.weight + '">'+ item.code +' - ' + item.name + '</option>';
							});
							$('.eo_itemsList').html(sdom);
							$(".eo_itemsList").trigger("chosen:updated");


							$('.eo_title', $modal).html('Edit Order #' + order.id + '<small class="pull-right">' + order.name + '</small>');

							var tdom = '<tr>';
							tdom += '<th colspan="2">Available items : ' + count + '</th>';
							tdom += '</tr>';
							tdom += '<tr>';
							tdom += '<th>Original Volume : ' + order.orderVolume.toFixed(3) + ' CBM</th>';
							tdom += '<th>Original Weight : ' + order.orderWeight.toFixed(3) + ' Kg</th>';
							tdom += '</tr>';
							tdom += '<tr>';
							tdom += '<th>Remaining Volume : ' + order.remainingVolume.toFixed(2) + ' CBM</th>';
							tdom += '<th>Remaining Weight : ' + order.remainingWeight.toFixed(3) + ' Kg</th>';
							tdom += '</tr>';
							$('.eo_summary thead', $modal).html(tdom);


							var tdom = '';
							if (Object.keys(items).length > 0) {
								$.each(items, function (i, item) {
									tdom += '<tr>';
									tdom += '<td>' + item.code + '</td>';
									tdom += '<td>' + item.name + '</td>';
									tdom += '<td>' + item.qty + '</td>';
									tdom += '<td>' + item.remainingQty + '</td>';
									tdom += '<td>' + item.remainingVolume + '</td>';
									tdom += '<td>' + item.remainingWeight + '</td>';
									tdom += '<td>';
									tdom += '<div class="btn-group">';
									tdom += '<button class="btn btn-warning btn-xs eo_editItem" data-item_id="' + item.id + '" data-item_code="' + item.code + '" data-item_name="' + item.name + '" data-item_volume="' + item.itemVolume + '" data-item_weight="' + item.itemWeight + '" data-item_qty="' + item.qty + '"><i class="fa fa-pencil"></i></button>';
									tdom += '<button class="btn btn-danger btn-xs eo_deleteItem" data-trip_id="' + data.trip_id + '" data-order_id="' + data.order_id + '" data-item_id="' + item.id + '"><i class="fa fa-close"></i></button>';
									tdom += '</div>';
									tdom += '</td>';
									tdom += '</tr>';
								});
							} else {
								tdom = '<tr><th class="text-center" colspan="7">Sorry, No results found.</th></tr>';
							}
							$('.eo_items tbody', $modal).html(tdom);


						} else {
							$('.title', $modal).html('Sorry trip data not found.');
							$('.modal-body', $modal).html('');
						}
					}, 'json');

					$('#modal_editOrder').modal('show');

				} else {
					$.notify.error('<b>Invalid order selected</b>');
				}
			}

			function deleteOrder(trip_order_id) {
				$.post("<?php echo e(url('/mainshuttle/deleteOrder')); ?>", {_token: _token, trip_order_id: trip_order_id}, function (e) {
					// if (e != undefined && e != null && e != '') {
					// 	preload_trip(e);
					// }
					//above lines are completed cuz if an order is completed we have to block it
					throwError(e, function(){
						preload_trip(e);
					});
				}, 'json');
			}

			function deleteVehicle(trip_vehicle_id) {
				$.post("<?php echo e(url('/mainshuttle/deleteVehicle')); ?>", {_token: _token, trip_vehicle_id: trip_vehicle_id}, function (e) {
					// if (e != undefined && e != null && e != '') {
					// 	preload_trip(e);
					// }
					//above lines are completed cuz if an order is completed we have to block it
					throwError(e, function(){
						preload_trip(e);
					});
				}, 'json');
			}

			function loadSummary() {
				var $target = $('.trip_summary');

				var data = {
					fromDate: $(".tripsFilterFromDate").val(),
					toDate: $(".tripsFilterToDate").val()
				};


				var input = $.trim($(".trips_filter_number").val());
				var trip_number = isNaN(+input) ? 0 : input;

				var no_return_cods = $(".no_return_cods").is(":checked");
				
				$.clearHighlights();
				if(input.length > 0 && trip_number <= 0){
					$(".trips_filter_number").highlightElement({'msg': 'Invalid trip number'});
				}
				
				
				var arrow = '<div class="arrow" style="display: inline-block; margin-top: 10px; padding: 0px 10px 0px 10px;">';
				arrow += '<i class="fa fa-long-arrow-right"></i>';
				arrow += '</div>';

				$.post("<?php echo e(url('/mainshuttle/loadSummary')); ?>", {_token: _token, data: data}, function (e) {
					throwError(e);
					var dom = '';
					if (typeof(e) == 'object' && Object.keys(e).length > 0) {

						$.each(e, function (i, trip) {

							var cods = '';
							var vehicles = trip.vehicles;
							var vehicle_cods = trip.vehicle_cods;
							var has_return_cods = 0;
							$.each(vehicle_cods, function(i, o){
								if(o.id != undefined){
									cods = o.sap_ref + ' (Trip Ref: '+o.num+')' + ', ' + cods;
									if(o.shuttle_category == "Return"){
										has_return_cods = 1;
									}
								}
							});

							if(input.length > 0 && trip_number > 0){
								var regex = new RegExp(trip_number + '.*');
								if(String(trip.id).match(regex) == null){
									return true;
								}
							}//skipping values

							if(no_return_cods){
								if(has_return_cods){
									return true;
								}
							}


							dom += '<div class="img-thumbnail form-group trip">';

							if(has_return_cods > 0){
								dom += '	<div class="alert title">';
								dom += '		<span><b>Trip #' + trip.id + '</b></span>';
							}else{
								dom += '	<div class="alert title" style="background-color: #ddda27;">';
								dom += '		<span><b>Trip #' + trip.id + '</b>&nbsp;&nbsp;&nbsp;&nbsp;-- no return cods added --</span>';
							}
							
							dom += '		<div class="btn-wrapper pull-right">';
							dom += '			<button class="btn btn-xs btn-warning editTrip" data-trip_id="' + trip.id + '"><i class="fa fa-pencil"></i></button>';
							dom += '			<button class="btn btn-xs btn-danger deleteTrip" data-trip_id="' + trip.id + '"><i class="fa fa-close"></i></button>';
							dom += '		</div>';
							dom += '	</div>';


							if(vehicles.length == 0){
								dom +=  '<div class="alert alert-danger fade in alert-dismissable">';
								dom +=  '<a href="#" class="close" data-dismiss="alert" aria-label="close" title="close">�</a>';
								dom +=  'There is no Vehicle Assigned!';
								dom +=  '</div>';
							}
                    
                    
							if (typeof(vehicles) == 'object' && Object.keys(vehicles).length > 0) {
								$.each(vehicles, function (i, vehicle) {

									var items = vehicle.items;
									var points = vehicle.points;
									var invoices = vehicle.invoices;

									dom += '<div class="row"><div class="col-md-12">';
									dom += '	<div class="col-xs-12" style="padding-left: 0px;">';
									dom += '		<div class="table-responsive">';
									if (typeof(items) == 'object' && Object.keys(items).length > 0) {

										dom += '			<table class="table table-bordered table-condensed" style="border:none;">';
										dom += '				<thead>';
										dom += '					<tr>';
										dom += '						<th colspan="3" style="border: none;">' + vehicle.number + ' Items Loaded</th>';
										dom += '					</tr>';
										dom += '					<tr>';
										dom += '						<th width="60px;" style="padding-left: 30px; border:none;">#</th>';
										dom += '						<th style="padding-left: 30px; border:none;">Name</th>';
										dom += '						<th width="100px;" style="padding-left: 30px; border:none;">Qty</th>';
										dom += '					</tr>';
										dom += '				</thead>';
										dom += '				<tbody>';

										// var invoice_nums = [];



										$.each(items, function (j, item) {
											// invoice_nums.push(item.num);
											
											dom += '					<tr>';
											dom += '						<td style="padding-left: 30px; border: none;">' + (++i) + '</td>';
											dom += '						<td style="padding-left: 30px; border: none;">Order #' + item.num + ' '+ item.partialStatus +' - ' + item.name + '</td>';
											dom += '						<td style="padding-left: 30px; border: none;">' + item.qty + '</td>';
											dom += '					</tr>';

										});


										dom += '				</tbody>';
										dom += '				<tfoot>';
										dom += '					<tr style="border-top: 1px solid #eee; border-bottom: 1px solid #eee;">';
										dom += '						<th style="border: none; border-right: 1px solid #eee;">Totals</th>';
										dom += '						<th colspan="2" style="white-space: nowrap; border: none;">';
										dom += '							<span style="display: inline-block; width:50%; text-align: right;">Volume : '+ vehicle.totalItemVolume +' CBM</span>';
										dom += '							<span style="display: inline-block; width:50%; text-align: right;">Weight: '+ vehicle.totalItemWeight +' Kg</span>';
										dom += '						</th>';
										dom += '					</tr>';
										dom += '				</tfoot>';
										dom += '			</table>';

									} else {
										dom += '			<table class="table table-bordered table-condensed">';
										dom += '				<thead>';
										dom += '					<tr>';
										dom += '						<td style="border: none;"> <b>Vehicle #: ' + vehicle.number + '</b></td>';
										dom += '					</tr>';
										dom += '				</thead>';
										dom += '			</table>';
                                        
 					dom += '<div style="margin-bottom: 15px;padding: 15px; background-color:#fcfcfc">';
					dom += '</h1><div class="row" style="padding-bottom: 10px;">';
					dom += '<div class="col-md-4">Transporter: '+ vehicle.shuttle_transporter +'</div>';
					dom += '<div class="col-md-4">Return Type:'+ (vehicle.empty_type) +'</div>';
					dom += '<div class="col-md-4">Vehicle: #'+ (vehicle.number) +'</div>';
					dom += '</div>';
					dom += '<div class="row"style="padding-bottom: 10px;">';
					dom += '<div class="col-md-4">Weight: '+ (vehicle.weight) +'</div>';
					dom += '<div class="col-md-4">Shuttle Type: '+ (vehicle.shuttle_type) +'</div>';
					dom += '<div class="col-md-4">Volume: '+ (vehicle.volume) +'</div>';
					dom += '</div>';
					dom += '<div class="row"style="padding-bottom: 10px;">';
					dom += '<div class="col-md-4">Location : '+ (vehicle.location_combination_name) +' '+ vehicle.location_combination_cost+'</div>';
					dom += '<div class="col-md-4">Palletized Allocation: '+ (vehicle.pallets_allocation) +'</div>';
					dom += '<div class="col-md-4">Non Palletized Allocation: '+ (vehicle.non_pallets_allocation) +'</div>';
					dom += '</div>';
					dom += '<div class="row"style="padding-bottom: 10px;">';
					dom += '<div class="col-md-4">Takeoff Date:'+ (vehicle.takeoff_date) +'</div>';
					dom += '</div>';
                                       
		
                    if(cods != ''){
                        dom += '<div class="row"style="padding-bottom: 10px;">';
                        dom += '<div class="col-md-6">Assigned COD(s) : '+ cods +'</div>';
                        dom += '</div></div>';
                    }else{
                      dom +=  '<div class="alert alert-danger fade in alert-dismissable">';
                      dom +=  '<a href="#" class="close" data-dismiss="alert" aria-label="close" title="close">�</a>';
                      dom +=  'There is No CODs Assigned to the vehicle !';
                      dom +=  '</div>';
                    }			
							}

									if(vehicle.bulk_volume > 0 || vehicle.bulk_weight > 0){
										dom += '<table class="table table-bordered table-condensed">';
										dom += '	<thead>';
										dom += '		<tr><th colspan="2">Bulk drop summary for '+ vehicle.number +'</th><tr>';
										dom += '	</thead>';
										dom += '	<tbody>';
										dom += '		<tr><td>Bulk Volume</td><td>'+ vehicle.bulk_volume +' CBM</td></tr>';
										dom += '		<tr><td>Bulk Weight</td><td>'+ vehicle.bulk_weight +' KG</td></tr>';
										dom += '	</tbody>';
										dom += '</table>';
									}
									
									if((vehicle.bulk_volume > 0 || vehicle.bulk_weight > 0) || (typeof(items) == 'object' && Object.keys(items).length > 0)){

										var destinations = "";
										if(vehicle.hasOwnProperty('points') && Object.keys(vehicle.points).length > 0){
											$.each(vehicle.points, function (p, point) {
												if (p == 0) {
													destinations += point.name;
												} else {
													destinations += ", " + point.name;
												}
											});
										}

										dom += '<div class="form-group table-responsive">';
										dom += '	<table class="table loading_details">';
										dom += '		<tr>';
										dom += '			<td><b><small>Loading Bay</small></b></td>';
										dom += '			<td><b><small>Loading officer name</small></b></td>';
										dom += '		</tr>';
										dom += '		<tr>';
										dom += '			<td><input type="text" class="loading_bay" value="'+ vehicle.loading_bay +'"></td>';
										dom += '			<td><input type="text" class="loading_officer" value="'+ vehicle.loading_officer +'"></td>';
										dom += '		</tr>';
										dom += '		<tr>';
										dom += '			<td><b><small>Loading start time</small></b></td>';
										dom += '			<td><b><small>Loading end time</small></b></td>';
										dom += '		</tr>';
										dom += '		<tr>';
										dom += '			<td><input type="text" class="loading_start datetimepicker" value="'+ vehicle.loading_start +'"></td>';
										dom += '			<td><input type="text" class="loading_end datetimepicker" value="'+ vehicle.loading_end +'"></td>';
										dom += '		</tr>';
										dom += '		<tr>';
										dom += '			<td colspan="2" style="padding-top: 5px !important;"><button class="btn btn-success btn-xs save_loading_details" data-id="'+ vehicle.id +'">Save Loading Details</button></td>';
										dom += '		</tr>';
										dom += '	</table>';
										dom += '</div>';

										dom += '			<div class="form-inline gatepass_date_tracker">';
										dom += '				<div class="form-group">';
										dom += '					<input type="text" class="form-control gatepass_date" value="'+ vehicle.gatepass_date +'" placeholder="Gatepass Date">';
										dom += '					<input type="text" disabled class="form-control gatepass_date" value="'+ vehicle.gatepass_date +'" placeholder="Gatepass Date">';
										dom += '				</div>';
										dom += '				<div class="form-group">';
										dom += '					<button data-trip_id="' + trip.id + '" data-id="'+ vehicle.id +'" data-vehicle="' + vehicle.transporter_vehicle_id + '" data-goodsCost="'+ vehicle.goodsCost +'" data-orders="' + invoices.join(",") + '" data-points="'+ destinations +'" data-takeoff="'+ vehicle.takeoff_date +'" class="btn btn-info gatePass">Gate Pass <span class="fa fa-print"></span></button>';
										dom += '				</div>';
										dom += '				<div class="form-group">';
										if(vehicle.complete == 0)
											dom += '            	<button data-trip_id="' + trip.id + '" data-vehicle="' + vehicle.transporter_vehicle_id + '" class="btn btn-danger endTrip">End Trip <span class="fa fa-car"></span></button> ';
										else
											dom += '            	<button disabled="true" class="btn btn-success endedTrip">Ended Trip <span class="fa fa-car"></span></button> ';
										dom += '				</div>';
										dom += '			</div>';
										dom += '<hr>';
									}

									dom += '		</div>';
									dom += '	</div>';

									if (typeof(points) == 'object' && Object.keys(points).length > 0) {

									

										$.each(points, function (p, point) {

											if (p == 0) {
												// dom += point.name;
												dom += '<div style="display: inline-block;">';
												dom += point.seal_number + '</br>' + point.name;
												dom += '</div>';
											} else {
												// dom += arrow + point.name;
												dom += arrow;
												dom += '<div style="display: inline-block">';
												dom += '<span data-toggle="tooltip" title="Seal number">'+ point.seal_number +'</span><br>';
												dom += '<span data-toggle="tooltip" title="Feedback sheet number">'+ point.feedback_sheet_number +'</span><br>';
												dom += point.name;
												dom += '</div>';
											}

										});

										dom += '	</div>';

									} else {
									
											dom += '	<div class="hide img-thumbnail tv_drop_points col-xs-6" style="margin-top: 0px;">';
									
									//	dom += '		-- no drop points added --';
										dom += '	</div>';
									}

									dom += '</div></div>';
								});
							} else {
								dom += '<div class="row"><div class="col-md-12">';
								dom += '	<div class="col-xs-6" style="padding-left: 0px;">';
								dom += '		<div class="table-responsive">';

								dom += '			<table class="table table-bordered table-condensed">';
								dom += '				<thead>';
								dom += '					<tr>';
								dom += '						<td style="border: none;">-- no vehicles added --</td>';
								dom += '					</tr>';
								dom += '				</thead>';
								dom += '				<tbody></tbody>';
								dom += '			</table>';

								dom += '		</div>';
								dom += '	</div>';

								dom += '	<div class="img-thumbnail tv_drop_points col-xs-6" style="margin-top: 0px;">';
								dom += '		-- no drop points added --';
								dom += '	</div>';
								dom += '</div>';
							}

							dom += '</div></div>';

						});

					}else{
						dom += '-- no trips found --';
					}

					$target.html(dom);
					$('[data-toggle="tooltip"]', $target).tooltip();

					$('.gatepass_date').datepicker({
						dateFormat: "yy-mm-dd"
					});

					$('.datetimepicker').datetimepicker({
						dateFormat: "yy-mm-dd",
						timeFormat: "HH:mm"
					});
				}, 'json');

			}

			

			function temp() {
				var $tbody = $('.tripSummary tbody');

				var arrow = '<div class="arrow" style="display: inline-block; margin-top: 10px; padding: 0px 10px 0px 10px;">';
				arrow += '<i class="fa fa-long-arrow-right"></i>';
				arrow += '</div>';

				$.post("<?php echo e(url('/map/loadSummary')); ?>", {_token: _token}, function (e) {

					var dom = '';

					if (e != undefined && typeof(e) == 'object' && Object.keys(e).length > 0) {
						$.each(e, function (i, k) {

							dom += '<tr>';

							dom += '<td rowspan="' + k.rowspan + '">' + i + '</td>';

							if (k.set != undefined) {
								$.each(k.set, function (l, m) {

									if (l == 0) {

										dom += '<td rowspan="' + m.rowspan + '">' + m.vehicle.number + '</td>';

										var points = '';
										$.each(m.points, function (p, q) {
											if (p == 0) {
												points += q.name;
											} else {
												points += arrow + q.name;
											}
										});

										if (Object.keys(m.items).length > 0) {
											$.each(m.items, function (n, o) {

												if (n == 0) {
													dom += '<td>Order ' + o.order_id + ' - ' + o.name + '</td>';
													dom += '<td>' + o.qty + '</td>';
													dom += '<td rowspan="' + m.rowspan + '">' + points + '</td>';

													dom += '<td rowspan="' + k.rowspan + '">';
													dom += '<div class="btn-group">';
													dom += '<button class="btn btn-sm btn-warning editTrip" data-trip_id="' + i + '"><i class="fa fa-pencil"></i></button>';
													dom += '<button class="btn btn-sm btn-danger deleteTrip" data-trip_id="' + i + '"><i class="fa fa-close"></i></button>';
													dom += '</div>';
													dom += '</td>';

													dom += '</tr>';
												} else {
													dom += '<tr>';
													dom += '<td>Order ' + o.order_id + ' - ' + o.name + '</td>';
													dom += '<td>' + o.qty + '</td>';
													dom += '</tr>';
												}
											});
										} else {
											dom += '<td colspan="2"></td>';
											dom += '<td></td>';
											dom += '<td>';
											dom += '<div class="btn-group">';
											dom += '<button class="btn btn-sm btn-warning editTrip" data-trip_id="' + i + '"><i class="fa fa-pencil"></i></button>';
											dom += '<button class="btn btn-sm btn-danger deleteTrip" data-trip_id="' + i + '"><i class="fa fa-close"></i></button>';
											dom += '</div>';
											dom += '</td>';
										}


									} else {

										dom += '<tr>';
										dom += '<td rowspan="' + m.rowspan + '">' + m.vehicle.number + '</td>';

										var points = '';
										$.each(m.points, function (p, q) {
											if (p == 0) {
												points += q.name;
											} else {
												points += arrow + q.name;
											}
										});
										if (Object.keys(m.items).length > 0) {
											$.each(m.items, function (n, o) {

												if (n == 0) {
													dom += '<td>Order ' + o.order_id + ' - ' + o.name + '</td>';
													dom += '<td>' + o.qty + '</td>';
													dom += '<td rowspan="' + m.rowspan + '">' + points + '</td>';
													dom += '</tr>';
												} else {
													dom += '<tr>';
													dom += '<td>Order ' + o.order_id + ' - ' + o.name + '</td>';
													dom += '<td>' + o.qty + '</td>';
													dom += '</tr>';
												}

											});
										} else {
											dom += '<td colspan="2"></td> <td></td>';
										}
									}
								});
							} else {
								dom += '<td colspan="4"></td>';
								dom += '<td>';
								dom += '<div class="btn-group">';
								dom += '<button class="btn btn-sm btn-warning editTrip" data-trip_id="' + i + '"><i class="fa fa-pencil"></i></button>';
								dom += '<button class="btn btn-sm btn-danger deleteTrip" data-trip_id="' + i + '"><i class="fa fa-close"></i></button>';
								dom += '</div>';
								dom += '</td>';
							}

						});
					} else {
						dom = '<tr><th class="text-center" colspan="5">Sorry, No results found.</th></tr>';
					}

					$tbody.html(dom);
				}, 'json');
			}

			function completeTrip(data) {
				$.post("<?php echo e(url('/mainshuttle/completeTrip')); ?>", {_token: _token, data: data}, function (e) {
					if (e != undefined && e != '') {
						// var msg = 'You are currently editing trip <strong>#' + e + '</strong>';
						// setNotification(msg);
						// resetActions('update', e);
						// preload_incompleteTrip();
						resetActions('save');
						$('.notification').html('');
						$('a[href="#step1"]').trigger('click');
						$.notify.success('<b>Successfully marked as complete.</b>');
					}
				}, 'json');
			}

			function save(data) {
				$.post("<?php echo e(url('/map/saveRoute')); ?>", {_token: _token, data: data}, function (e) {
					throwError(e, function () {
						if (e != undefined && typeof(e) == 'object' && e.hasOwnProperty('trip_id') && e.hasOwnProperty('vehicle_id') && e.trip_id != undefined && e.vehicle_id != undefined) {
							preload_trip(e.trip_id, e.vehicle_id);
							$.notify.success('<b>Successfully saved.</b>');
						}
					});
				}, 'json');
			}

			function removePoint(id) {
				var data = {
					id: id,
					trip_id: $('.cancelTrip').val(),
					vehicle_id: $('.tripVehiclesList').val()
				};

				if (data.id != undefined && data.id != null && data.id != '') {
					$.post("<?php echo e(url('/map/removePoint')); ?>", {_token: _token, data: data}, function (e) {
						if (e != undefined && typeof(e) == 'object' && e.hasOwnProperty('trip_id') && e.hasOwnProperty('vehicle_id') && e.trip_id != undefined && e.vehicle_id != undefined) {
							preload_trip(e.trip_id, e.vehicle_id);
						}
					}, 'json');
				} else {
					$.notify.error('<b>Invalid record selected.</b>');
				}
			}

			function addPoint(data) {
				if (data.trip_id != undefined && data.trip_id != null && data.trip_id != '') {
					if (data.vehicle_id != undefined && data.vehicle_id != null && data.vehicle_id != '') {
						$.post("<?php echo e(url('/map/addPoint')); ?>", {_token: _token, data: data}, function (e) {
							if (e != undefined && typeof(e) == 'object' && e.hasOwnProperty('trip_id') && e.hasOwnProperty('vehicle_id') && e.trip_id != undefined && e.vehicle_id != undefined) {
								preload_trip(e.trip_id, e.vehicle_id);
							}
						}, 'json');
					} else {
						$.notify.error('<b>Select a vehicle.</b>');
					}
				} else {
					$.notify.error('<b>Invalid record selected.</b>');
				}
			}

			function preload_incompleteTrip() {
				$.post("<?php echo e(url('/mainshuttle/preload_incompleteTrip')); ?>", {_token: _token}, function (trip_id) {
					if (trip_id != undefined && trip_id != null && trip_id != '') {
						var msg = 'Trip <strong>#' + trip_id + '</strong> is not fully completed. You can continue editing it.';
						setNotification(msg);
						resetActions('inprogress', trip_id);
					} else {
						resetActions('save');
					}
				}, 'json');
			}

			function cancelTrip(id) {
				$.post("<?php echo e(url('/mainshuttle/cancelTrip')); ?>", {_token: _token, id: id}, function (e) {
					// if (e != undefined && e != null && e != '') {
					// 	resetActions('save');
					// 	var msg = 'Trip <strong>#' + e + '</strong> has been deleted.';
					// 	setNotification(msg, 'danger');
					// 	$.notify.success('<b>Trip #' + e + ' has been deleted</b>');
					// 	loadSummary();
					// }
					throwError(e, function(){
						resetActions('save');
						var msg = 'Trip <strong>#' + e + '</strong> has been deleted.';
						setNotification(msg, 'danger');
						$.notify.success('<b>Trip #' + e + ' has been deleted</b>');
						loadSummary();
					});
				}, 'json');
			}

			function resetActions(type, id) {
				$('.cancelTrip').val("");
				$('.finishTrip').val("");
				$('.save').val("");
				if (id != undefined && id != '') {
					$('.cancelTrip').val(id);
					$('.updateTrip').val(id);
					$('.save').val(id);
					preload_trip(id);
				}
				if (type == 'save') {
					$('.cancelTripWrapper').hide();
					$('.updateTripWrapper').hide();
					$('.createTripWrapper').show();
					$('.editor').hide();
					preload_trip();
				} else if (type == 'inprogress') {
					$('.createTripWrapper').hide();
					$('.updateTripWrapper').hide();
					$('.cancelTripWrapper').show();
					$('.editor').show();
				} else if (type == 'update') {
					$('.createTripWrapper').hide();
					$('.cancelTripWrapper').hide();
					$('.updateTripWrapper').show();
					$('.editor').show();
				}
			}

			function setNotification(msg, type) {
				type = type || 'info';
				msg = msg || '';

				var dom = '<div class="alert alert-' + type + ' alert-dismissable fade in" style="margin-bottom: 0px;">';
				dom += '	<i class="close" data-dismiss="alert" aria-label="close">&times;</i>';
				dom += msg;
				dom != '</div>';
				$('.notification').html(dom);
			}

			function createTrip() {
				$.post("<?php echo e(url('/mainshuttle/createTrip')); ?>", {_token: _token}, function (e) {
					if (e != null && typeof(e) == 'object' && e.hasOwnProperty('msg') && e.hasOwnProperty('trip_id') && e.hasOwnProperty('method')) {
						setNotification(e.msg);
						resetActions('update', e.trip_id);
					}
				}, 'json');
			}

			function saveVehicle(vehicle_id) {
				var data = {
					trip_id: $('.cancelTrip').val(),
					vehicle_id: vehicle_id
				};

				if (data.trip_id != undefined && data.trip_id != null && data.trip_id != '') {
					if (data.vehicle_id != undefined && data.vehicle_id != '') {
						$.post("<?php echo e(url('/mainshuttle/saveVehicle')); ?>", {_token: _token, data: data}, function (e) {
							throwError(e, function () {
								preload_trip(e);
							});
						}, 'json');
					} else {
						$.notify.error("<b>Invalid vehicle selected.</b>");
					}
				} else {
					$.notify.error("<b>Invalid trip.</b>");
				}
			}

			var oldHeight = 0;

			function setFixedHeight() {
				var currentHeight = $('.editor').height();

				if (currentHeight > oldHeight) {
					oldHeight = currentHeight;
					$('.editor').height(currentHeight);
				}
			}

			function saveOrder(order_id) {
				var data = {
					trip_id: $('.cancelTrip').val(),
					order_id: order_id
				};

				if (data.trip_id != undefined && data.trip_id != null && data.trip_id != '') {
					if (data.order_id != undefined && data.order_id != '') {

						$.post("<?php echo e(url('/mainshuttle/saveOrder')); ?>", {_token: _token, data: data}, function (e) {
							throwError(e, function () {
								preload_trip(e);
							});
						}, 'json');
					} else {
						$.notify.error("<b>Invalid order selected.</b>");
					}
				} else {
					$.notify.error("<b>Invalid trip saveOrder.</b>");
				}
			}

			function preload_trip(trip_id, selected_vehicle_id) {

				selected_vehicle_id = selected_vehicle_id || '';

				var $vehicles = $('.vehicles');
				var $orders = $('.orders');
				var $tripVehicles = $('.tripVehiclesList');
				var $route = $('.route');
				var $startingLocations = $('.startingLocationsList');
				var $endingLocations = $('.endingLocationsList');

				$vehicles.html('');
				$orders.html('');
				$tripVehicles.html('<option>Select a vehicle</option>');
				$route.html('-- drop points not loaded --');
				$startingLocations.html('<option>Select a starting location</option>');
				$endingLocations.html('<option>Select an ending location</option>');

				$.post("<?php echo e(url('/mainshuttle/preload_trip')); ?>", {_token: _token, trip_id: trip_id, selected_vehicle_id: selected_vehicle_id}, function (e) {
					var dom = '';
					var vehicles = e.vehicles;
					var orders = e.orders;
					var shuttlelocationcombination = e.shuttlelocationcombination;
					var shuttle_locations = e.shuttle_locations;

					var dropMenu = '';
					if(vehicles != undefined && typeof(vehicles) == "object" && Object.keys(vehicles).length > 0){
						dropMenu += '	<ul class="dropdown-menu">';
						dropMenu += '		<h6 style="margin: 0px;" class="dropdown-header">SELECT A VEHICLE</h6>';
						$.each(vehicles, function(i, k){
							var v = k.vehicle;
							dropMenu += '	<li>';
							dropMenu += '		<a href="#" class="dropdown-item" data-shuttle_category="Departure" data-vehicle-id="'+ v.id +'">Departure</a>';
							dropMenu += '		<a href="#" class="dropdown-item" data-shuttle_category="Return" data-vehicle-id="'+ v.id +'">Return</a>';
							dropMenu += '	</li>';
						});
						dropMenu += '	</ul>';
					}

					$.each(orders, function (i, k) {
						if (typeof(k) == 'object' && k.hasOwnProperty('order') && k.hasOwnProperty('items') && k.hasOwnProperty('total')) {
							var order = k.order;
							var total = k.total;
							var items = k.items;

							dom += '<div class="img-thumbnail form-group col-xs-12 order" data-trip_id="' + order.main_shuttle_id + '" data-trip_order_id="' + order.id + '"  data-order_id="' + order.order_id + '">';
							dom += '	<div class="heading">';
							dom += '		' + order.location + ' <span class="pull-right">Doc. Ref. ' + order.sap_ref + ' <i class="btn btn-xs deleteOrder text-danger fa fa-close" data-trip_order_id="' + order.id + '"></i></span>';
							dom += '	</div>';
							dom += '	<div class="body">';
							dom += '		<div class="form-group summary">';
							dom += '			<button class="hide btn btn-primary btn-xs expander">';
							dom += '				<i aria-hidden="true" class="fa fa-arrows-v fa-lg"></i>';
							dom += '			</button>';
							dom += '			<table class="table table-bordered table-condensed" draggable="false" style="margin-bottom: 0px;">';
							dom += '				<thead>';
							dom += '					<tr>';
							dom += '						<th colspan="2" width="50%" class="">Doc. Ref. : ' + order.sap_ref + '</th>'; //  total.count
							
                            
                            dom += '						<th colspan="2" width="50%">';
							dom += '							<label class="hide btn btn-warning btn-xs"><input type="radio" name="'+ order.id +'_order_pick_options" class="return" /> Return</label>';
							dom += '							<label class="hide btn btn-warning btn-xs"><input type="radio" name="'+ order.id +'_order_pick_options" class="departure" /> Departure</label>';
							dom += '							<label class="hide btn btn-warning btn-xs"><input type="radio" name="'+ order.id +'_order_pick_options" class="hide pickNormalOrder" /> --</label>';



                            if(order.remainingVolume >= 0 || order.remainingWeight >= 0){
    							dom += '							<ul style="list-style: none; padding: 0px;" class="vehicle_dropdown pull-right">';
    							dom += '								<li class="dropdown">';
    							dom += '	    							<button class="btn btn-xs btn-info dropdown-toggle" data-toggle="dropdown" style="height: 25px;"><i class="fa fa-lg fa-angle-double-right" style="font-weight: bold; color: black;"></i></button>';
                                dom += dropMenu;
                            }
						
							

							dom += '								</li>';
							dom += '							</ul>';


							dom += '						</th>';
							dom += '					</tr>';

							dom += '					<tr>';
							dom += '						<th colspan="2" width="50%">Original Volume : ' + order.orderVolume.toFixed(2) + '</th>';
							dom += '						<th colspan="2" width="50%">Original Weight : ' + order.orderWeight.toFixed(2) + '</th>';
							dom += '					</tr>';

							dom += '					<tr>';
							dom += '						<th colspan="2" width="50%">Remaining Volume : ' + order.remainingVolume.toFixed(2) + '</th>';
							dom += '						<th colspan="2" width="50%">Remaining Weight : ' + order.remainingWeight.toFixed(2) + '</th>';
							dom += '					</tr>';
                            
							dom += '					<tr>';
							dom += '						<th colspan="2" width="50%">Plan Date : ' + order.plan_date + '</th>';
							dom += '						<th colspan="2" width="50%">Empty Pallets : ' + order.cases + '</th>';
							dom += '					</tr>';

							dom += '				</thead>';
							dom += '			</table>';
							dom += '			<button class="hide btn btn-success btn-xs editOrder" data-order_id="' + order.order_id + '" data-trip_id="' + trip_id + '">';
							dom += '				<i aria-hidden="true" class="fa fa-pencil fa-lg"></i>';
							dom += '			</button>';
							dom += '		</div>';
							dom += '		<div class="form-group results" style="display: none;">';
							dom += '			<table class="table table-bordered table-condensed items" style="margin-bottom: 0px;">';
							dom += '				<thead>';
							dom += '					<tr>';
							dom += '						<td>Item</td>';
							dom += '						<td width="80px">Tot. Vol</td>';
							dom += '						<td width="80px">Qty</td>';
							dom += '						<td class="text-center" width="120px"></td>';
							dom += '					</tr>';
							dom += '				</thead>';
							dom += '				<tbody>';

							if (typeof(k.items) == 'object' && Object.keys(k.items).length > 0) {
								$.each(k.items, function (i, item) {

									dom += '			<tr>';
									dom += '				<td>' + item.item + '</td>';
									dom += '				<td>' + item.volume.toFixed(3) + '</td>';
									dom += '				<td>' + item.qty + '</td>';
									dom += '				<td>';
									dom += '					<div class="input-group drag" draggable="true" data-trip_order_id="' + order.id + '" data-trip_id="' + order.trip_id + '" data-item_id="' + item.id + '" data-order_id="' + order.order_id + '">';
									dom += '						<input class="form-control orderItem" data-item_id="' + item.id + '" type="text" value="' + item.qty + '"> <span class="input-group-addon"><i class="fa fa-arrows-alt"></i></span>';
									dom += '					</div>';
									dom += '				</td>';
									dom += '			</tr>';
								});
							}

							dom += '				</tbody>';
							dom += '			</table>';
							dom += '		</div>';
							dom += '		<div>';
							dom += '			<button class="hide btn btn-xs btn-primary printOrderSummary" data-order_id="'+ order.order_id +'"><i class="fa fa-print"></i></button>';
							dom += '<span class="hide pull-right" style="font-size: 12px;">'+ order.location +'</span>';
							dom += '		</div>';
							dom += '	</div>';
							dom += '</div>';
						}
					});
					$orders.html(dom);


					dom = '';
					$.each(vehicles, function (i, k) {
						if (typeof(k) === 'object' && k.hasOwnProperty('vehicle') && k.hasOwnProperty('items') && k.hasOwnProperty('points')) {

							var vehicle = k.vehicle;
							var items = k.items;
							var points = k.points;

							dom += '<div class="img-thumbnail form-group col-xs-12 drop vehicle" data-trip_vehicle_id="' + vehicle.id + '">';
							dom += '	<div class="heading" style="padding-top: 0px;">';
							dom += '		' + vehicle.number + '<span class="pull-right"><select class="bg-success trip_types_list" data-trip_vehicle_id="'+ vehicle.id +'" style="height: 25px; display: inline-block; width: 85px; margin-right: 10px;">'+ vehicle.trip_types_list +'</select><input type="text" value="'+ vehicle.takeoff_date +'" class="bg-success takeoff_date" style="height: 25px; display: inline-block; width: 85px; z-index:100; position: relative;" /><button class="btn btn-xs btn-primary setTakeOffDate" value="'+ vehicle.id +'" style="display: inline-block; margin-right: 3px; height: 25px;"><i class="fa fa-check"></i></button>' + vehicle.shuttle_transporter + ' <i class="btn btn-xs deleteVehicle text-danger fa fa-close" data-trip_vehicle_id="' + vehicle.id + '"></i></span>';
							dom += '	</div>';
							dom += '	<div class="body">';
							dom += '		<div class="hide form-group" style="margin-bottom: 8px;">';
							dom += '			<table class="table table-bordered table-condensed items" style="margin-bottom: 0px;">';
							dom += '				<thead>';
							dom += '					<td>Order #</td>';
							dom += '					<td>Product</td>';
							dom += '					<td>Volume</td>';
							dom += '					<td>Qty</td>';
							dom += '					<td class="text-center" width="40px"><i class="fa fa-gear"></i></td>';
							dom += '				</thead>';
							dom += '				<tbody>';

							if (typeof(k.items) == 'object' && Object.keys(k.items).length > 0) {
								$.each(k.items, function (i, item) {

									dom += '			<tr>';
									dom += '				<td class="refParent">';
									dom += 						item.num;
									dom += '					<div class="refPopup"> Ref No : '+ $.addLeadingZeros(item.trip_vehicle_order_id, 6) +'</div>';
									dom += '				</td>';
									dom += '				<td>' + item.itemName + '</td>';
									dom += '				<td>' + item.volume.toFixed(3) + '</td>';
									dom += '				<td>' + item.qty + '</td>';
									dom += '				<td class="text-center">';
									dom += '					<button class="btn btn-danger btn-xs deleteItem" value="' + item.id + '"><i class="fa fa-trash fa-lg"></i></button>';
									dom += '				</td>';
									dom += '			</tr>';

								});
							} else {
								dom += '<tr><td colspan="5" class="text-center">-- no items added --</td></tr>';
							}

							dom += '				</tbody>';
							dom += '			</table>';
							dom += '		</div>';
							 var s_c1 = 0; s_c2 = 0; st1 = false	;
							if (typeof(vehicle.bulkDrops) == 'object' && Object.keys(vehicle.bulkDrops).length > 0) {


							
        								dom += '		<div class="form-group">';
                               
                           			var st1=true;	
                                $.each(vehicle.bulkDrops, function (index, bulkDrop) {
								    if(bulkDrop.shuttle_category == 'Return'){
                                        if(st1==true){
                                            st1=false;
                                            
             								dom += '			<table class="table table-bordered table-condensed summary">';
            								dom += '				<thead>';
            								dom += '					<th>'+ bulkDrop.shuttle_category +'</th>';
            								dom += '					<th>Volume</th>';
            								dom += '					<th>Weight</th>';
            								dom += '					<th class="text-center" width="40px"><i class="fa fa-gear"></i></th>';
            								dom += '				</thead>';
            								dom += '				<tbody>';
                                           
                                        }
                                    
    									dom += '<tr class="bg-success">';
    									dom += '<td class="refParent">';
    									dom += 'Doc. Ref. ' + bulkDrop.sap_ref ;
    									dom += '<div class="refPopup">Trip Ref. No : '+ $.addLeadingZeros(bulkDrop.num, 6) +'</div>';
    									dom += '</td>';
    									dom += '<td>' + bulkDrop.bulk_volume.toFixed(3) + '</td>';
    									dom += '<td>' + bulkDrop.bulk_weight.toFixed(3) + '</td>';
    									dom += '<td><button class="btn btn-xs btn-danger bulkDropDelete" data-id="' + bulkDrop.id + '"><i class="fa fa-trash fa-lg"></i></button></td>';
    									dom += '</tr>';
								        
								    }
                                    s_c1+1;
								});
                                
                          
								dom += '				</tbody>';
								dom += '			</table>';
                                var st2=true;
                                 $.each(vehicle.bulkDrops, function (index2, bulkDrop) {
								    if(bulkDrop.shuttle_category == 'Departure'){
								        
                                       
                                        if(st2==true){
                                            st2=false;
             								dom += '			<table class="table table-bordered table-condensed summary">';
            								dom += '				<thead>';
            								dom += '					<th>'+ bulkDrop.shuttle_category +'</th>';
            								dom += '					<th>Volume</th>';
            								dom += '					<th>Weight</th>';
            								dom += '					<th class="text-center" width="40px"><i class="fa fa-gear"></i></th>';
            								dom += '				</thead>';
            								dom += '				<tbody>';
                                           
                                        }
                                    
    									dom += '<tr class="bg-success">';
    									dom += '<td class="refParent">';
    									dom += 'Doc. Ref. # ' + bulkDrop.sap_ref ;
    									dom += '<div class="refPopup">Trip Ref No : '+ $.addLeadingZeros(bulkDrop.num, 6) +'</div>';
    									dom += '</td>';
    									dom += '<td>' + bulkDrop.bulk_volume.toFixed(3) + '</td>';
    									dom += '<td>' + bulkDrop.bulk_weight.toFixed(3) + '</td>';
    									dom += '<td><button class="btn btn-xs btn-danger bulkDropDelete" data-id="' + bulkDrop.id + '"><i class="fa fa-trash fa-lg"></i></button></td>';
    									dom += '</tr>';
								        
								    }
                                    s_c1+1;
								});
                           
                            
                            
                            
  								dom += '				</tbody>';
								dom += '			</table>';
                          
                            
								dom += '		</div>';


							}


							dom += '		<div class="form-group">';
							dom += '			<div class="img-thumbnail" style="width: 100%;">';
							// dom += '<div class="form-group">';
							dom += '	<div class="input-group">';
							dom += '		<span class="input-group-addon btn btn-primary add_seal_number">Add Drop Point &nbsp;<i class="fa fa-arrow-down"></i></span>';
							dom += '		<select class="form-control">';
							if (typeof(points) == 'object' && Object.keys(points).length > 0) {
								$.each(points, function(i, point){
									dom += '	<option value="'+ i +'" data-location="'+ point +'">'+ point +'</option>';
								});
							}else{
								dom += '<option>-- no drop points added --</option>';
							}
							dom += '		</select>';
							dom += '		<span style="background-color: #286090; color: #fff;" class="input-group-addon btn btn-primary save_seal_numbers" data-trip_id="'+ trip_id +'" data-trip_vehicle_id="'+ vehicle.id +'">Save Drop Point(s)</span>';
							dom += '	</div>';
							// dom += '</div>';
							dom += '				<hr style="margin-top: 3px; margin-bottom: 10px;" />';
							dom += '				<div class="dropPoints">';

							if(typeof(shuttle_locations) == "object" && Object.keys(shuttle_locations).length > 0){
								$.each(shuttle_locations, function(i, sl){
									dom += '<div class="input-group" style="width: 150px; float: left; margin-right: 5px; margin-bottom: 5px;">';
									dom += '	<span class="input-group-addon">'+ sl.location +'</span>';
									dom += '	<input type="text" class="form-control shuttle_seal_number" value="'+ sl.seal_number +'" data-id="'+ sl.location_id +'" placeholder="Seal No." style="width: 100px;">';
									dom += '	<span class="btn remove_seal_number btn-danger input-group-addon"><i class="fa fa-close"></i></span>';
									dom += '</div>';
								});
							}else{
								dom += '';
							}

							// if (typeof(shuttle_locations) == 'object' && Object.keys(points).length > 0) {
								// var length = Object.keys(points).length;
								// var c = 0;
								// $.each(points, function (i, point) {
								// 	if ((++c) < length) {
								// 		dom += point + ', ';
								// 	} else {
								// 		dom += point;
								// 	}
								// 	c++;
								// });

								// $.each(points, function(i, point){
									// dom += '<div class="row col-xs-6">';
									// dom += '<div class="input-group" style="width: 150px; float: left; margin-right: 5px;">';
									// dom += '	<span class="input-group-addon">'+ point +'</span>';
									// dom += '	<input type="text" class="form-control shuttle_seal_number" data-id="'+ i +'" placeholder="Seal No." style="width: 100px;">';
									// dom += '	<span class="btn remove_seal_number btn-danger input-group-addon"><i class="fa fa-close"></i></span>';
									// dom += '</div>';
									// dom += '</div>';
								// });

							// } else {
							// 	dom += '-- no drop points added --';
							// }

							dom += '				</div>';
							dom += '			</div>';
							dom += '		</div>';
							dom += '		<div class="form-inline" style="margin-bottom: 5px;">';
							dom += '			<div class="form-group" style="width: 100%;">';
							dom += '				<label class="control-label" style="width: 50%;float: left;">Loaded Volume : ' + vehicle.loadedVolume.toFixed(2) + ' </label>';
							dom += '				<label class="control-label" style="width: 50%; float: left;">Loaded Weight : ' + vehicle.loadedWeight.toFixed(2) + ' kg</label>';
							dom += '				<label class="control-label" style="width: 100%; float: left;">Empty  Pallets : ' + vehicle.emptyPallets + ' </label>';
							dom += '				<div atyle="clear:both"></div><br />';
 						
                           
                         	dom += '				<div style="width: 100%; padding-bottom:16px; float: left; position: relative"><br />';
                         	dom += '<select class="form-control shuttlelocationcombinationid"  name="shuttlelocationcombinationid">';
		      				dom += '<option  value="">Select Location Combination</option>';

                            var cost ='';
                        	$.each(shuttlelocationcombination, function (i, sh) {
                        	     var se = "";
                               
                        	   if(vehicle.shuttle_location_combination_id == sh.id){
                        	       var se = "selected";
                                   var cost =  'LKR' + sh.cost;
                        	   }
		      					dom += '<option  value="'+ sh.id +'__'+ sh.cost +'" '+se+'>'+ sh.name +'</option>';
                            })                           
                          	dom += '</select>';
						//	dom += '					<input type="text" style="width: 180px;" class="form-control" value="'+ vehicle.goodsCost +'" placeholder="value of goods" style="height: 30px;" />';
							dom += '<input  type="text" value="'+ vehicle.goodsCost +'" style="max-width: 100px" readonly="" class="form-control shuttlelocationcombinationspan">';

							// dom += '<button class="btn btn-sm btn-'+ (vehicle.shuttle_location_combination_id ? "primary" : "warning") +' shuttle_location_combination_id" value="'+ vehicle.id +'"><i class="fa fa-check"></i></button>';

							dom += '				';
							dom += '				</div>';

							dom += '				<div style="width: 100%; float:left;">Palletized Allocation';
							dom += '					<input type="text" style="width: 180px;" class="form-control" name="pallets_allocation" value="'+ vehicle.pallets_allocation +'" placeholder="Palletized Allocation" style="height: 30px;" />';
							// dom += '					<button class="btn btn-sm btn-'+ (vehicle.pallets_allocation != 0 ? "primary" : "warning") +' palletsAllocation" value="'+ vehicle.id +'"><i class="fa fa-check"></i></button>';
							dom += '				</div>';

							dom += '				<div style="width: 100%; padding-top: 10px; float:left;;">Non-Palletized Allocation';
							dom += '					<input type="text" style="width: 180px;" class="form-control" name="non_pallets_allocation" value="'+ vehicle.non_pallets_allocation +'" placeholder="Non-Palletized Allocation" style="height: 30px;" />';
							// dom += '					<button class="btn btn-sm btn-'+ (vehicle.non_pallets_allocation != 0 ? "primary" : "warning") +' nonPalletsAllocation" value="'+ vehicle.id +'"><i class="fa fa-check"></i></button>';
							dom += '				</div>';

                            var empty_type = vehicle.empty_type;
                            
                            dom += '<div class="clearfix"></div>';
                         	dom += '<div class="panel-default"><br /><label class="radio-inline" style="padding-left: 0px;">';
                            dom += '<input type="checkbox" '+ (empty_type.search('Return') != -1  ? "checked":"") +' value="Return" name="empty_type" class="empty_type"> Return empty ';
                            dom += '</label>';
                            dom += '<label class="radio-inline">';
                            dom += '<input type="checkbox" '+ (empty_type.search('Depature')!= -1 ? "checked":"") +' value="Depature" name="empty_type" class="empty_type"> Depature empty </label>';
                            // dom += ' <button class="btn btn-sm btn-'+ (vehicle.empty_type != '' ? "primary" : "warning") + ' origin" value="'+ vehicle.id +'"><i class="fa fa-check"></i></button><br /><br/>';

                            dom += '<br/><br/>';
                            
                            //newly added
                            dom += '<div class="row">';
                            dom += '	<div class="col-md-12">';
                            dom += '		<button class="btn btn-success btn_saveall" data-trip_id="'+ trip_id +'" data-trip_vehicle_id="'+ vehicle.id +'"><b>Save</b></button>';
                            dom += '	</div>';
                            dom += '</div><br/>';
                            
                            dom += '<div class="clearfix"></div>';
                            dom += '<div class="row" style="width: 100%;  padding:12px"> <strong>Origin: </strong><br />';
                            dom += '<div style="width: 45%; float:left;;"> Dock in:<br><input type="text" value="'+ (vehicle.origin_loading_start != '0000-00-00 00:00:00' ? vehicle.origin_loading_start: "") +'" class="form-control origin_loading_start datetimepicker"  id=""></div>	';
                            dom += '<div style="width: 45%; float:left;;"> Dock out:<br><input type="text" value="'+ (vehicle.origin_loading_end != '0000-00-00 00:00:00' ? vehicle.origin_loading_end: "") +'" class="form-control origin_loading_end datetimepicker" value="" id=""></div><div style="width: 10%; float:left;;"> <br> <button value="'+ vehicle.id +'" class="btn btn-sm btn-'+ (vehicle.origin_loading_start == '0000-00-00 00:00:00' || vehicle.origin_loading_end == '0000-00-00 00:00:00' ? "warning" : "primary") +' origin" value="21"><i class="fa fa-check"></i></button> </div>  ';

                            dom += ' <div style="width: 100%; padding:0px"> <strong>Destination: </strong><br />';
                            dom += '<div style="width: 45%; float:left;;"> Dock in:<br><input type="text" value="'+ (vehicle.destination_loading_start != '0000-00-00 00:00:00' ? vehicle.destination_loading_start: "") +'" class="form-control destination_loading_start datetimepicker" value="" id=""></div>	';
                            dom += '<div style="width: 45%; float:left;;"> Dock out:<br><input type="text" value="'+ (vehicle.destination_loading_end != '0000-00-00 00:00:00' ? vehicle.destination_loading_end: "") +'" class="form-control destination_loading_end datetimepicker" value="" id=""></div><div style="width: 10%; float:left;;"> <br> <button value="'+ vehicle.id +'" class="btn btn-sm btn-'+ (vehicle.destination_loading_start == '0000-00-00 00:00:00' || vehicle.destination_loadingend == '0000-00-00 00:00:00' ? "warning" : "primary") +' destination" value="21"><i class="fa fa-check"></i></button></div></div>  ';
                            dom += '';
                          
                            
                            

							dom += '			</div></div>';
							dom += '		</div>';
					 /**			dom += '		<div class="form-group" style="margin-bottom: 0px;">';
							dom += '			<div class="progress" style="margin-bottom: 0px;">';
					
                   	if (vehicle.volumeExeeded != 1) {
								dom += '			<div class="progress-bar progress-bar-success" role="progressbar" style="width: ' + vehicle.volumePercentage + '%">';
								dom += '				<div class="text-danger" style="font-weight:bold;">';
								dom += '					<span>Vehicle&nbsp;volume&nbsp;</span><span class="capacity">' + vehicle.loadedVolume.toFixed(3) + '</span>/<span class="volume">' + vehicle.volume + '</span>';
								dom += '				</div>';
								dom += '			</div>';

							} else {
								dom += '			<div class="progress-bar progress-bar-danger" role="progressbar" style="width: 100%">';
								dom += '				<div class="text-default" style="font-weight:bold;">';
								dom += '					<span>Vehicle&nbsp;volume&nbsp;</span><span class="capacity">' + vehicle.loadedVolume + '</span>/<span class="volume">' + vehicle.volume + '</span>';
								dom += '				</div>';
								dom += '			</div>';
                                
                                
 
							}

							dom += '			</div>';
                            
							dom += '		</div>'; ***/
							dom += ' 	</div>';
							dom += '</div>';
						}
					});
					$vehicles.html(dom);


					if (e.tripVehicles != undefined && typeof(e.tripVehicles) == 'object' && Object.keys(e.tripVehicles).length > 0) {
						var dom = '<option value="">Select a vehicle</option>';
						$.each(e.tripVehicles, function (i, k) {
							if (k.selected == 1) {
								dom += '<option value="' + k.id + '" selected>' + k.transporter + ' - ' + k.number + '</option>';
							} else {
								dom += '<option value="' + k.id + '">' + k.transporter + ' - ' + k.number + '</option>';
							}
						});
						$tripVehicles.html(dom);
					}


					if (e.startingLocations != undefined && typeof(e.startingLocations) == 'object' && Object.keys(e.startingLocations).length > 0) {
						var dom = '<option value="">Select a starting location</option>';
						$.each(e.startingLocations, function (i, k) {
							if (k.selected == 1) {
								dom += '<option value="' + k.id + '" selected>' + k.name + '</option>';
							} else {
								dom += '<option value="' + k.id + '">' + k.name + '</option>';
							}
						});
						$startingLocations.html(dom);
					}

					if (e.endingLocations != undefined && typeof(e.endingLocations) == 'object' && Object.keys(e.endingLocations).length > 0) {
						var dom = '<option value="">Select an ending location</option>';
						$.each(e.endingLocations, function (i, k) {
							if (k.selected == 1) {
								dom += '<option value="' + k.id + '" selected>' + k.name + '</option>';
							} else {
								dom += '<option value="' + k.id + '">' + k.name + '</option>';
							}
						});
						$endingLocations.html(dom);
					}

					if (e.routeLocationsResult != undefined && e.routeLocationsResult != null && typeof(e.routeLocationsResult) == 'object') {
						var dom = '';
						if (Object.keys(e.routeLocationsResult).length > 0) {
							var routeLocationsCount = Object.keys(e.routeLocationsResult).length;

							$.each(e.routeLocationsResult, function (i, k) {

								var data = k.data;
								var locations = k.locations;

								dom += '<div class="col-xs-3 wrapper">';
								dom += '	<div class="form-group" style="margin-bottom: 2px; '+ (i > 0 ? "padding-left: 43px" : "") +'">';
								dom += '		<input type="text" class="form-control seal_number" value="'+ data.seal_number +'" style="height: 25px; font-size:0.9em;" placeholder="Seal number" data-toggle="tooltip" title="Seal number">';
								dom += '	</div>';
								dom += '	<div class="form-group" style="margin-bottom: 2px; '+ (i > 0 ? "padding-left: 43px" : "") +'">';
								dom += '		<input type="text" class="form-control feedback_sheet_number" value="'+ data.feedback_sheet_number +'" style="height: 25px; font-size:0.9em;" placeholder="Feedback sheet number" data-toggle="tooltip" title="Feedback sheet number">';
								dom += '	</div>';
								dom += '	<div class="form-group">';
								dom += '		<div class="input-group">';

								dom += '			<button class="btn btn-danger btn-sm removePoint" data-id="' + data.id + '"><i class="fa fa-close"></i></button>';

								if (i > 0) {
									dom += '			<span class="input-group-addon direction"><i class="fa fa-long-arrow-right fa-lg"></i></span>';
								}

								dom += '			<select class="form-control point">';
								dom += '			<select class="form-control point" disabled>';
								dom += '				<option value="">Select a drop point</option>';
								$.each(locations, function (l, m) {
									if (m.selected == 1) {
										dom += '		<option value="' + m.location_id + '" data-id="' + data.id + '" data-trip_id="' + data.trip_id + '" data-vehicle_id="' + data.transporter_vehicle_id + '" data-location_id="' + m.location_id + '" selected>' + m.name + '</option>';
									} else {
										dom += '		<option value="' + m.location_id + '" data-id="' + data.id + '" data-trip_id="' + data.trip_id + '" data-vehicle_id="' + data.transporter_vehicle_id + '" data-location_id="' + m.location_id + '">' + m.name + '</option>';
									}
								});
								dom += '			</select>';
								
								if ((++i) == routeLocationsCount) {
									dom += '			<span class="input-group-addon addPointWrapper">';
									dom += '				<button class="btn btn-primary btn-sm addPoint"><i class="fa fa-plus"></i></button>';
									dom += '			</span>';
								}
								dom += '		</div>';
								dom += '	</div>';
								dom += '</div>';

							});
						} else {
							dom = '<button class="btn btn-primary btn-sm addPoint"><i class="fa fa-plus"></i></button>';
						}
						$route.html(dom);
					} else {
						$route.html('-- drop points not loaded --');
					}

					$('[data-toggle="tooltip"]', $route).tooltip();

					$('.takeoff_date').datepicker({
						dateFormat: "yy-mm-dd"
					});

					loadSummary();
					setFixedHeight();
					load_detailedOrders();
					// load_ordersList();

				}, 'json');
			}

			function validate_before_save_all(){

				$(".shuttlelocationcombinationid, [name='pallets_allocation'], [name='non_pallets_allocation']").css({border: ""});

				var combination_id = $(".shuttlelocationcombinationid").val().split("__").length > 0 ? $(".shuttlelocationcombinationid").val().split("__")[0] : 0;

				if(isNaN(combination_id) || +combination_id <= 0){
					$(".shuttlelocationcombinationid").css({border: "1px solid red"});
					return false;
				}

				var pallets_allocation = $("[name='pallets_allocation']").val();

				if((pallets_allocation.length > 0 && isNaN(pallets_allocation)) || +pallets_allocation < 0){
					$("[name='pallets_allocation']").css({border: "1px solid red"})
					return false;
				}


				var non_pallets_allocation = $("[name='non_pallets_allocation']").val();

				if((non_pallets_allocation.length > 0 && isNaN(non_pallets_allocation)) || +non_pallets_allocation < 0){
					$("[name='non_pallets_allocation']").css({border: "1px solid red"})
					return false;
				}

				return true;
			}

			$(document).on("click", ".ref_number", function(){
				var text = $(this).html();
		        var regexp = new RegExp(/\d+(?!.*\d+)/);

		        $(".no_num").val("");
				if(text){
					var matches = text.match(regexp);
			        if(matches && matches.length > 0){
			            var replaced = text.replace(regexp, +matches[0] + 1);
			            $(".no_num").val(replaced);
			        }
				}
				$(".no_num").select();
				$(".no_num").focus();
				
			});

			$(document).on("click", ".btn_saveall", function(){
				
				var trip_id = $(this).data("trip_id");
				var trip_vehicle_id = $(this).data("trip_vehicle_id");

				var combination_id = $(".shuttlelocationcombinationid").val().split("__").length > 0 ? $(".shuttlelocationcombinationid").val().split("__")[0] : 0;

				var pallets_allocation = $("[name='pallets_allocation']").val();

				var non_pallets_allocation = $("[name='non_pallets_allocation']").val();

				var trip_type = $(".trip_types_list").val();

				var takeoff_date = $(".takeoff_date").val();

				var empty_type = $(".empty_type:checked").map(function(i, k){
					return $(k).val();
				}).toArray().join();

				if(validate_before_save_all()){

					var data = {
						trip_id: $(this).data("trip_id"),
						trip_vehicle_id: $(this).data("trip_vehicle_id"),
						combination_id: combination_id,
						pallets_allocation: pallets_allocation,
						non_pallets_allocation: non_pallets_allocation,
						trip_type: trip_type,
						takeoff_date: takeoff_date,
						empty_type: empty_type,
						points: []
					};
					$(".shuttle_seal_number").each(function(){
						(data.points).push({
							location_id: $(this).data("id"),
							seal_number: $(this).val()
						});
					});

					$.post("<?php echo e(url('/mainshuttle/save_all')); ?>", {_token: _token, data: data}, function(e){
						throwError(e, function (trip_id) {
							preload_trip(trip_id);
						});
					}, 'json');

				}else{
					$.notify.error("<b>There are some errors in the data you input</b>");
				}

			});

			$(document).on("click", ".save_seal_numbers", function(){
				var trip_id = $(this).data("trip_id");
				var trip_vehicle_id = $(this).data("trip_vehicle_id");
				var data = {
					trip_id: $(this).data("trip_id"),
					trip_vehicle_id: $(this).data("trip_vehicle_id"),
					points: []
				};
				$(".shuttle_seal_number").each(function(){
					(data.points).push({
						location_id: $(this).data("id"),
						seal_number: $(this).val()
					});
				});

				$.post("<?php echo e(url('/mainshuttle/save_seal_numbers')); ?>", {_token: _token, data: data}, function (e) {
					throwError(e, function (trip_id) {
						preload_trip(trip_id);
					});
				}, 'json');
			});

			$(document).on("click", ".add_seal_number", function(){
				var location_id = $("option:selected", $(this).next("select")).val();
				var location = $("option:selected", $(this).next("select")).data("location");

				if(+location_id){
					var dom = '';
					dom += '<div class="input-group" style="width: 150px; float: left; margin-right: 5px; margin-bottom: 5px;">';
					dom += '	<span class="input-group-addon">'+ location +'</span>';
					dom += '	<input type="text" class="form-control shuttle_seal_number" data-id="'+ location_id +'" placeholder="Seal No." style="width: 100px;">';
					dom += '	<span class="btn remove_seal_number btn-danger input-group-addon"><i class="fa fa-close"></i></span>';
					dom += '</div>';

					$(".dropPoints").append(dom);
				}else{
					$.notify.error("<b>Invalid drop point selected</b>");
				}

				
			});

			$(document).on("click", ".remove_seal_number", function(){
				var _this = $(this);
				bootbox.confirm("Are you sure you want to delete this drop point?", function (r) {
					if (r) {
						$(_this).closest(".input-group").remove();
					}
				});
			});

			function load_ordersList() {
				$.post("<?php echo e(url('/mainshuttle/load_codsList')); ?>", {_token: _token}, function (e) {
					var dom = '';
					if (typeof(e) == 'object' && Object.keys(e).length > 0) {
						$.each(e, function (i, k) {
							dom += '<option value="' + k.id + '">Order ' + k.num + '</option>';
						});
					} else {
						dom = '<option>No Orders added.</option>';
					}
					$('.ordersList').html(dom);
				}, 'json');
			}

			function load_vehiclesList() {
				$.post("<?php echo e(url('/mainshuttle/load_vehiclesList')); ?>", {_token: _token}, function (e) {
					var dom = '';
					if (typeof(e) == 'object' && Object.keys(e).length > 0) {
						$.each(e, function (i, k) {
							dom += '<option value="' + k.id + '">' + k.transporter + ' - ' + k.number + '</option>';
						});
					} else {
						dom = '<option>No Vehicles added.</option>';
					}
					$('.vehiclesList').html(dom);
					$(".chosen-select").trigger("chosen:updated");
				}, 'json');
			}

			function dropItem($from, $to) {
				var data = {
					trip_id: $from.data('trip_id'),
					trip_order_id: $from.data('trip_order_id'),
					trip_vehicle_id: $to.data('trip_vehicle_id'),
					item_id: $from.data('item_id'),
					qty: +$from.find('input:text').val()
				};
				$.post("<?php echo e(url('/map/dropItem')); ?>", {_token: _token, data: data}, function (e) {
					throwError(e, function (trip_id) {
						preload_trip(trip_id);
					});
				}, 'json');
			}

			function throwError(e, callback) {
				if (e != undefined && e != null && e != '') {
					if (e.hasOwnProperty('errors')) {
						$.each(e.errors, function (k, msg) {
							$.notify.error('<b>' + msg + '</b>');
							return false;
						});
					} else {
						if (e.hasOwnProperty('ok') && e.hasOwnProperty('msg') && e.ok == 0) {
							$.notify.error('<b>' + e.msg + '</b>');
						} else {
							if(callback != undefined && typeof(callback) == "function"){
								callback(e);
							}
						}
					}
				}
			}


			function deleteItem(id) {
				if (id != undefined && id != null && id != '') {
					$.post("<?php echo e(url('/map/deleteItem')); ?>", {_token: _token, id: id}, function (e) {
						// if (e != undefined && e != null && e != '') {
						// 	preload_trip(e);
						// }
						//above lines are commented cuz it needs to be block if order is completed

						throwError(e, function(){
							preload_trip(e);
						});

					}, 'json');
				} else {
					$.notify.error("<b>Invalid record selected.</b>");
				}
			}

			$(document).on("click", ".vehicle_dropdown .dropdown-menu li a", function(e){
				e.preventDefault();
				var vehicle_id = $(this).data("vehicle-id"); 
				var shuttle_category = $(this).data("shuttle_category"); 

				var $from = $(this).closest(".vehicle_dropdown").closest(".table");

				var $order = $from.closest('.order');
				var $orderItems = $('.orderItem', $from.closest('.order'));
				var return_st = $('.return', $from).is(':checked');
				var depature_st = $('.depature', $from).is(':checked');
				var pickNormalOrder = $('.pickNormalOrder', $from).is(':checked');

				var data = {
					trip_vehicle_id: vehicle_id,
					trip_id: $order.data('trip_id'),
					trip_order_id: $order.data('trip_order_id'),
					order_id: $order.data('order_id'),
					pick_full_order: false,
					pick_empty_order: false,
					return_st: return_st,
					depature_st: depature_st,
					shuttle_category: shuttle_category,
					items: []
				};
				$orderItems.each(function () {
					var item = {
						qty: $(this).val(),
						item_id: $(this).data('item_id')
					};
					data.items.push(item);
				});

				$.post("<?php echo e(url('/mainshuttle/bulkDrop')); ?>", {_token: _token, data: data}, function (e) {
					throwError(e, function () {
						preload_trip(e);
					});
				}, 'json');
			});

			function dropSummary($from, $to) {
				var $order = $from.closest('.order');
				var $orderItems = $('.orderItem', $from.closest('.order'));
				var pickFullOrder = $('.pickFullOrder', $from).is(':checked');
				var pickEmptyOrder = $('.pickEmptyOrder', $from).is(':checked');
				var pickNormalOrder = $('.pickNormalOrder', $from).is(':checked');


				var data = {
					trip_vehicle_id: $to.data('trip_vehicle_id'),
					trip_id: $order.data('trip_id'),
					trip_order_id: $order.data('trip_order_id'),
					order_id: $order.data('order_id'),
					pick_full_order: pickFullOrder,
					pick_empty_order: pickEmptyOrder,
					items: []
				};
				$orderItems.each(function () {
					var item = {
						qty: $(this).val(),
						item_id: $(this).data('item_id')
					};
					data.items.push(item);
				});

				$.post("<?php echo e(url('/mainshuttle/bulkDrop')); ?>", {_token: _token, data: data}, function (e) {
					throwError(e, function () {
						preload_trip(e);
					});
				}, 'json');
			}


		});
	</script>
	<?php $__env->stopSection(); ?>
<?php echo $__env->make('layouts.master', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>