File: /var/www/html/orbidirectory.com/storage/framework/views/be7b84b82fa1ff85933a1eb23a210643.php
<!-- Option 1: Bootstrap Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous">
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.full.min.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.1.0-rc.0/js/select2.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.5/jquery.validate.min.js"></script>
<meta name="csrf-token" content="<?php echo e(csrf_token()); ?>">
<div id="cargoConfig"
data-limit="<?php echo e(request()->is('/') ? 3 : 9); ?>"
data-pagination="<?php echo e(request()->is('/') ? 'false' : 'true'); ?>">
</div>
<script>
// cargo and passenger vehicles shoing data scripts-------------
// this is for home...
$('.vehicle_switchTabs button').on('click', function () {
$('.vehicle_switchTabs button').removeClass('activeTab_btn');
$(this).addClass('activeTab_btn');
var target = $(this).data('target');
// Hide both the passenger and cargo vehicles
$('.passenger_vehicles, .cargo_vehicles').hide();
if (target === 'passenger') {
$('.passenger_vehicles').css('display', 'flex');
} else if (target === 'cargo') {
// Show the cargo vehicles container and load data if needed
$('.cargo_vehicles').css('display', 'flex');
// Check if the cargo data is already loaded, otherwise load it via AJAX
if ($('#cargo_vehicle_list').children().length === 0) {
loadCargoVehicles();
}
}
});
// This is for seach
$('.vehicle_switchTabs button').on('click', function () {
$('.vehicle_switchTabs button').removeClass('activeTab_btn');
$(this).addClass('activeTab_btn');
var target = $(this).data('target');
// Hide all vehicle sections and filters
$('.passanger_vehicles, .cargo_vehicles, .passenger_vehicle_filter, .cargo_vehicle_filter').hide();
if (target === 'passenger') {
$('.passanger_vehicles').css('display', 'flex');
$('.passenger_vehicle_filter').css('display', 'flex');
} else if (target === 'cargo') {
$('.cargo_vehicles').css('display', 'flex');
$('.cargo_vehicle_filter').css('display', 'flex');
}
});
// For cargo and passenger select home to seach page
$(document).ready(function () {
let selectedTab = 'passenger'; // default
$('.vehicle_switchTabs .btn').on('click', function () {
$('.vehicle_switchTabs .btn').removeClass('activeTab_btn');
$(this).addClass('activeTab_btn');
selectedTab = $(this).data('target');
// Set the "View All" link
$('#viewAllBtn').attr('href', '<?php echo e(route('search.results')); ?>?type=' + selectedTab);
});
});
$(document).ready(function () {
// Get 'type' from URL
const urlParams = new URLSearchParams(window.location.search);
const type = urlParams.get('type') || 'passenger';
console.log("Page loaded with type:", type);
if (type === 'passenger') {
$('.vehicle_switchTabs .btn').removeClass('activeTab_btn');
$('.vehicle_switchTabs .btn[data-target="passenger"]').addClass('activeTab_btn');
$('#vehicle-list').show();
$('.cargo_vehicle_filter').hide();
$('#cargo_vehicle_list').hide();
console.log("Passenger tab active");
} else {
$('.vehicle_switchTabs .btn').removeClass('activeTab_btn');
$('.vehicle_switchTabs .btn[data-target="cargo"]').addClass('activeTab_btn');
$('.cargo_vehicle_filter').show();
$('#cargo_vehicle_list').show();
$('.passenger_vehicle_filter').hide();
$('#vehicle-list').hide();
console.log("Cargo tab active");
}
});
$(document).on('click', '.openReportModal', function (e) {
e.preventDefault();
$('#reportCargoUser').modal('show');
});
$(window).scroll(function() {
console.log($(window).scrollTop())
if ($(window).scrollTop() > 0) {
$('.header').addClass('navbar-fixed');
}
if ($(window).scrollTop() < 1) {
$('.header').removeClass('navbar-fixed');
}
});
</script>
<script>
// In your Javascript (external .js resource or <script> tag)
$(document).ready(function() {
$('.js-select-2-single1').select2();
});
</script>
<script>
// In your Javascript (external .js resource or <script> tag)
$(document).ready(function() {
$('.js-select-2-single2').select2();
});
</script>
<script>
$('#datetimepicker1').datetimepicker({
format: 'Y/m/d H:i:s'
});
$('#datetimepicker2').datetimepicker({
format: 'Y/m/d H:i:s'
});
</script>
<script>
$('.open-menu').on('click', function() {
$('.side-menu').addClass('side-menuOpen');
});
$('.close-menu').on('click', function() {
$('.side-menu').removeClass('side-menuOpen');
});
</script>
<script>
// home page popup cities selection
$(document).ready(function () {
$('#citySearchInput').on('input', function () {
let keyword = $(this). val().toLowerCase().trim();
let matchFound = false;
$('#searchResult').empty().hide(); // Clear previous search result
if (keyword === '') {
// If search input is empty, show default city list
$('.popular_cities').show();
$('#searchResult').hide();
return;
}
$('#cityList li').each(function () {
let $city = $(this).find('.selectCity');
let cityName = $city.data('name').toLowerCase();
let cityId = $city.data('id');
let cityImage = $city.data('image');
if (cityName.includes(keyword)) {
matchFound = true;
// Hide the original city list
$('.popular_cities').hide();
// Show the matched result
$('#searchResult').html(`
<div class="popular_cities popular_cities2">
<label>Popular cities</label>
<ul>
<li>
<a class="selectCity" href="#!" data-id="${cityId}" data-name="${cityName}" data-image="${cityImage}">
<span>
<img alt="${cityName}" src="${cityImage}">
</span>
<h6>${cityName}</h6>
</a>
</li>
</ul>
</div>
`).show();
return false; // Stop after first match
}
});
if (!matchFound) {
$('.popular_cities').hide();
$('#searchResult').html(`<p>No matching cities found.</p>`).show();
}
});
$('.currentLocation').on('click', function (e) {
e.preventDefault();
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
let latitude = position.coords.latitude;
let longitude = position.coords.longitude;
$.ajax({
url: "<?php echo e(route('detect.location')); ?>",
type: "POST",
data: {
_token: "<?php echo e(csrf_token()); ?>",
latitude: latitude,
longitude: longitude
},
success: function (response) {
if (response.success) {
let cityId = response.city.id;
console.log(cityId);
$('#city-dropdown').val(cityId).trigger('change');
$('.modal').modal('hide');
} else {
alert("City not found based on your location.");
}
},
error: function () {
alert("Error detecting your location.");
}
});
}, function (error) {
alert("Location permission denied or unavailable.");
});
} else {
alert("Geolocation is not supported by your browser.");
}
});
// Handle city selection
$(document).on('click', '.selectCity', function () {
let cityId = $(this).data('id');
let cityName = $(this).data('name');
$.ajax({
url: "<?php echo e(route('set.city.cookie')); ?>",
type: "POST",
data: {
_token: "<?php echo e(csrf_token()); ?>",
city_id: cityId
},
success: function () {
$('#city-dropdown').val(cityId).trigger('change');
$('.modal').modal('hide');
}
});
});
});
document.addEventListener('DOMContentLoaded', function() {
// Select all arrow icons
const arrowIcons = document.querySelectorAll('.arrow-icon i');
// Add click event listener to each arrow icon
arrowIcons.forEach(icon => {
icon.addEventListener('click', function() {
// Find the nearest .car-types container
const carTypesContainer = this.closest('.car-types');
if (carTypesContainer) {
// Find the car-models list within the car-types container
const carModelsList = carTypesContainer.querySelector('.car-models.scroll');
if (carModelsList) {
// Example ID of the element you want to scroll to
var targetElementId = 'radio1'; // Adjust as per your HTML structure
// Select the target element within the car models list
const targetElement = carModelsList.querySelector('#' +
targetElementId);
if (targetElement) {
// Calculate the scroll position relative to the car models list container
const scrollPosition = targetElement.offsetTop - carModelsList
.offsetTop + carModelsList.scrollTop;
// Scroll car models list container to the calculated position
carModelsList.scrollTo({
top: scrollPosition,
behavior: 'smooth'
});
}
}
}
});
});
});
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Select all arrow icons
const arrowIcons = document.querySelectorAll('.arrow-icon-1 i');
// Add click event listener to each arrow icon
arrowIcons.forEach(icon => {
icon.addEventListener('click', function() {
// Find the nearest .car-types container
const carTypesContainer = this.closest('.car-types');
if (carTypesContainer) {
// Find the car-models list within the car-types container
const carModelsList = carTypesContainer.querySelector('.car-models.scroll');
if (carModelsList) {
// Calculate the scroll position to the top of the car models list
const scrollPosition = carModelsList.scrollHeight - carModelsList
.clientHeight;
// Scroll car models list container to the calculated position
carModelsList.scrollTo({
top: 0,
behavior: 'smooth'
});
}
}
});
});
});
</script>
<script>
// ===== Scroll to Top ====
$(window).scroll(function() {
if ($(this).scrollTop() >= 50) { // If page is scrolled more than 50px
$('#return-to-top').fadeIn(200); // Fade in the arrow
} else {
$('#return-to-top').fadeOut(200); // Else fade out the arrow
}
});
$('#return-to-top').click(function() { // When arrow is clicked
$('body,html').animate({
scrollTop: 0 // Scroll to top of body
}, 500);
});
</script>
<script>
$(document).ready(function() {
$('#brand').change(function() {
var brandID = $(this).val();
if (brandID) {
$.ajax({
url: "<?php echo e(url('/getModel')); ?>/" + brandID,
type: "GET",
dataType: "json",
success: function(data) {
$('#model').empty();
$('#model').append('<option value="">Model</option>');
$.each(data, function(index, model) {
$('#model').append('<option value="' + model.id + '">' +
model.name + '</option>');
});
$('#model').trigger('change');
},
error: function(xhr, status, error) {
console.error("Failed to fetch models:", error);
}
});
} else {
$('#model').empty();
$('#model').append('<option value="">Model</option>');
}
});
});
</script>
<script>
$(document).ready(function() {
$('#clearSearch').click(function(e) {
e.preventDefault();
$('#searchForm').find('input:text, input:password, input:file, select, textarea').val('');
$('#searchForm').find('input:radio, input:checkbox').removeAttr('checked').removeAttr(
'selected');
window.location.href = '/search';
});
});
</script>
<script>
$(document).ready(function() {
// Update data-id attribute on radio button change
$('#cargo_vehicle_list').on('change', '.cargo-model-radio', function() {
var selectedRadio = $(this);
var vehicleId = selectedRadio.data('modal');
var transporterId = selectedRadio.data('transporter_id');
selectedRadio.closest('.car-wrap').find('.contactdetailstest').attr('data-id', vehicleId);
selectedRadio.closest('.car-wrap').find('.contactdetailstest').attr('data-transporter-id',transporterId);
});
// Handle click on vehicle_info button
$(document).on('click', '.contactdetailstest', function() {
var vehicleId = $(this).attr('data-id');
var transporterId = $(this).attr('data-transporter-id');
if (!vehicleId) {
console.error("Vehicle ID not found.");
return;
}
$('.modal').modal('hide');
$('#taxiBookingForm')[0].reset();
console.log(vehicleId);
$('#vehicle_id').val(vehicleId);
$('#vehicle_info_button').attr('data-id', vehicleId);
$('#transporter_id').val(transporterId);
if ($('.orbicontactdetailstest').length) {
console.log("Opening modal for vehicle ID: " + vehicleId);
$('.orbicontactdetailstest').modal('show'); // Show the contact details modal
} else {
console.error("Modal element not found.");
}
$('.orbicontactdetailstest').modal('show');
});
});
</script>
<script>
$(document).ready(function() {
$('#cargo_vehicle_list').on('change', '.cargo-model-radio', function() {
var selectedRadio = $(this);
var vehicleId = selectedRadio.data('vehicle_id');
var vehicle_image = '';
$.ajax({
url: '<?php echo e(url('cargo-vehicle-detail')); ?>/' + vehicleId,
method: 'GET',
data: {
'type': 'detail'
},
success: function(response) {
if (response.html) {
$('#vehicle-details-container').html(response
.html);
}
var cargo_vehicle_image = response.cargo_media_url || '';
console.log("Cargo Vehicle image URL: ", cargo_vehicle_image);
var imageElement = selectedRadio.closest('.cargo_wrap').find(
'.car-wrap-image-1 img');
if (cargo_vehicle_image) {
imageElement.attr('src', cargo_vehicle_image);
} else {
console.log("Media URL is undefined or empty");
}
console.log("Message: Vehicle details loaded successfully");
},
error: function(xhr, status, error) {
console.error('Error fetching cargo vehicle details:', error);
console.log("AJAX error: " + error);
}
});
var carDetailsContainer = selectedRadio.closest('.cargo_wrap').find('.cargo_detail_item');
var brand = selectedRadio.data('brand');
var model = selectedRadio.data('model');
var image = selectedRadio.data('image');
var Type = selectedRadio.data('type');
var modelId = selectedRadio.val();
var vehicleTypeId = selectedRadio.data('vehicle_type_id');
var fuelType = selectedRadio.data('fuel_type');
var weightCapacity = parseInt(selectedRadio.data('weight_capacity')) + ' Kg';
var bedDimensionUnit = selectedRadio.data('bed_dimension_unit');
var bodyType = selectedRadio.data('body_type');
var loadingRampAvailable = selectedRadio.data('loading_ramp_available');
// var permitType = selectedRadio.data('permit_type');
var permitTypeRaw = selectedRadio.data('permit_type');
var permitTypeMap = {
local: "Local",
all_india: "All India"
};
var permitType = permitTypeMap[permitTypeRaw] || permitTypeRaw;
var foundVehicleType = vehicle_types.find(type => type.id == vehicleTypeId);
console.log("foundvehicle type " + foundVehicleType);
if (foundVehicleType) {
vehicleTypeName = foundVehicleType.name;
console.log(foundVehicleType.name);
}
carDetailsContainer.find('.cargo-detail-heading h5').text(brand);
carDetailsContainer.find('.cargoType_name').text(Type);
carDetailsContainer.find('.cargo_fuel_type').text(fuelType);
carDetailsContainer.find('.cargo_weight_capacity').text(weightCapacity);
var length = parseInt(selectedRadio.data('length_in'));
var width = parseInt(selectedRadio.data('width_in'));
var depth = parseInt(selectedRadio.data('depth_in'));
var bedDimensionUnitRaw = selectedRadio.data('bed_dimension_unit');
var unitMap = {
feet: 'Ft'
};
var bedDimensionUnit = unitMap[bedDimensionUnitRaw] || bedDimensionUnitRaw.toUpperCase();
var bedDimensionFormatted = `${length} * ${width} * ${depth} ${bedDimensionUnit}`;
carDetailsContainer.find('.cargo_bed_dimension_unit').text(bedDimensionFormatted);
carDetailsContainer.find('.cargo_body_type').text(`${bodyType} Body Type`);
carDetailsContainer.find('.cargo_loading_ramp_available').text(loadingRampAvailable);
carDetailsContainer.find('.cargo_permit_type').text(`${permitType} Permit`);
});
});
</script>
<script>
$(document).ready(function() {
// Update data-id attribute on radio button change
$('#vehicle-list').on('change', '.car-model-radio', function() {
var selectedRadio = $(this);
var vehicleId = selectedRadio.data('modal');
var transporterId = selectedRadio.data('transporter_id');
selectedRadio.closest('.car-wrap').find('.contactdetails').attr('data-id', vehicleId);
selectedRadio.closest('.car-wrap').find('.contactdetails').attr('data-transporter-id',
transporterId);
});
// Handle click on vehicle_info button
$(document).on('click', '.contactdetails', function() {
var vehicleId = $(this).attr('data-id');
var transporterId = $(this).attr('data-transporter-id');
if (!vehicleId) {
console.error("Vehicle ID not found.");
return;
}
$('.modal').modal('hide');
$('#taxiBookingForm')[0].reset();
console.log(vehicleId);
$('#vehicle_id').val(vehicleId);
$('#vehicle_info_button').attr('data-id', vehicleId);
$('#transporter_id').val(transporterId);
if ($('.orbicontactdetails').length) {
console.log("Opening modal for vehicle ID: " + vehicleId);
$('.orbicontactdetails').modal('show'); // Show the contact details modal
} else {
console.error("Modal element not found.");
}
$('.orbicontactdetails').modal('show');
});
});
</script>
<script>
var vehicle_types = <?php echo json_encode($vehicle_types, 15, 512) ?>;
$(document).ready(function() {
$('#vehicle-list').on('change', '.car-model-radio', function() {
var selectedRadio = $(this);
var vehicleId = selectedRadio.data('vehicle_id');
var vehicle_image = '';
$.ajax({
url: '<?php echo e(url('vehicledetails')); ?>/' + vehicleId,
method: 'GET',
data: {
'type': 'detail'
},
success: function(response) {
if (response.html) {
$('#vehicle-details-container').html(response
.html);
}
var vehicle_image = response.media_url || '';
console.log("Vehicle image URL: ", vehicle_image);
var imageElement = selectedRadio.closest('.car-wrap').find(
'.car-wrap-image-1 img');
if (vehicle_image) {
imageElement.attr('src', vehicle_image);
} else {
console.log("Media URL is undefined or empty");
}
console.log("Message: Vehicle details loaded successfully");
},
error: function(xhr, status, error) {
console.error('Error fetching vehicle details:', error);
console.log("AJAX error: " + error);
}
});
var carDetailsContainer = selectedRadio.closest('.car-wrap').find('.car-details-item');
var make = selectedRadio.data('make');
var model = selectedRadio.data('model');
var image = selectedRadio.data('image');
var modelId = selectedRadio.val();
var vehicleTypeId = selectedRadio.data('vehicle_type_id');
var fuelType = selectedRadio.data('fuel_type');
var transmissionType = selectedRadio.data('transmission_type');
var seatingcapacity = selectedRadio.data('seating_capacity');
var serviceType = selectedRadio.data('service_type');
var city = selectedRadio.data('city');
var foundVehicleType = vehicle_types.find(type => type.id == vehicleTypeId);
console.log("foundvehicle type " + foundVehicleType);
if (foundVehicleType) {
vehicleTypeName = foundVehicleType.name;
console.log(foundVehicleType.name);
}
// carDetailsContainer.find('.car-details-heading h5').text(make + ' ' + model);
carDetailsContainer.find('.car-details-heading h5').text(make);
carDetailsContainer.find('.details-sub-heading').text(vehicleTypeName);
carDetailsContainer.find('.right-details-fuel').text(fuelType);
carDetailsContainer.find('.right-details-transmission').text(transmissionType);
carDetailsContainer.find('.right-details-seating').text(seatingcapacity + " seater ");
carDetailsContainer.find('.car-details-servicetype').text(serviceType);
carDetailsContainer.find('.car-details-city').text(city);
});
});
</script>
<script>
$(document).ready(function() {
$.validator.addMethod("customEmail", function (value, element) {
return this.optional(element) || /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z]{2,}$/i.test(value);
}, "Please enter a valid email address.");
$("#taxiBookingForm").validate({
rules: {
'your_name': {
required: true,
maxlength: 255
},
'your_email': {
required: function () {
return $("#your_number").val().trim() === "";
},
customEmail: true, // Use custom method here
maxlength: 255
},
'your_number': {
required: function () {
return $("#your_email").val().trim() === "";
},
digits: true,
minlength: 10,
maxlength: 10
}
},
messages: {
'your_name': {
required: "Please enter your name.",
maxlength: "Your name must not exceed 255 characters."
},
'your_email': {
required: "Please enter your email address if phone number is not provided.",
customEmail: "Please enter a valid email address (e.g. [email protected]).",
maxlength: "Your email address must not exceed 255 characters."
},
'your_number': {
required: "Please enter your phone number if email is not provided.",
digits: "Your phone number must contain only digits.",
minlength: "Your phone number must be exactly 10 digits.",
maxlength: "Your phone number must be exactly 10 digits."
}
},
submitHandler: function(form) {
// Use serialize() for form data
$.ajax({
url: $("#taxiBookingForm").attr('action'),
type: 'POST',
data: $(form).serialize(),
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
// console.log('Success:', response);
if (response.html) {
$('.orbi-viewcontactdetails').find('.modal-body')
.html(
response
.html);
$('.orbi-viewcontactdetails').modal('show');
$('.orbicontactdetails').modal('hide');
} else {
console.error('No HTML returned in response:',
response);
}
},
error: function(xhr, status, error) {
console.error('Error details:', xhr
.responseText); // Log error details
alert('An error occurred while submitting the form.');
}
});
return false; // Prevent default form submission
}
});
});
</script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Check if there's a success message
<?php if(session('success')): ?>
var myModal = new bootstrap.Modal(document.getElementById('exampleModal-1'));
myModal.show();
const successMessage = document.getElementById('success-message');
if (successMessage) {
setTimeout(() => {
successMessage.style.display = 'none';
}, 5000);
}
$('#exampleModal-1').on('hidden.bs.modal', function() {
const successMessage = document.getElementById('success-message');
if (successMessage) {
successMessage.style.display = 'none';
}
});
<?php endif; ?>
$("#BookingForm").validate({
rules: {
your_name: {
required: true,
minlength: 2
},
your_number: {
required: true,
digits: true,
minlength: 10,
maxlength: 10
},
your_email: {
required: true,
email: true
},
vehicle_type: {
required: true
},
passenger: {
required: true,
digits: true,
min: 1
},
pickup: {
required: true
},
drop: {
required: true
},
datetimepicker1: {
required: true
},
your_message: {
required: true
}
},
messages: {
your_name: "Please enter your name",
your_number: {
required: "Please enter your phone number",
digits: "Please enter a valid phone number",
minlength: "Phone number must be 10 digits",
maxlength: "Phone number must be 10 digits"
},
your_email: {
required: "Please enter your email address",
email: "Please enter a valid email address"
},
vehicle_type: "Please select a vehicle type",
passenger: {
required: "Please enter the number of passengers",
digits: "Please enter a valid number",
min: "Number of passengers must be at least 1"
},
pickup: "Please enter a pickup location",
drop: "Please enter a drop location",
datetimepicker1: "Please select a date and time",
your_message: "Please enter a description"
},
});
});
$(document).ready(function () {
// Show modal if there is a success message
<?php if(session('report_success')): ?>
var reportModal = new bootstrap.Modal(document.getElementById('userReport'));
reportModal.show();
const reportMessage = document.getElementById('report-success-message');
if (reportMessage) {
setTimeout(() => {
reportMessage.style.display = 'none';
}, 5000);
}
$('#userReport').on('hidden.bs.modal', function() {
if (reportMessage) {
reportMessage.style.display = 'none';
}
});
<?php endif; ?>
$.validator.addMethod("fileSize", function(value, element, param) {
if (element.files.length > 0) {
return element.files[0].size <= param;
}
return true;
}, "The uploaded file should not exceed 1MB.");
// jQuery validation for user report form
$(document).ready(function() {
$("#userRequest").validate({
rules: {
transporter_name: {
required: true
},
reported_user_image: {
required: true,
extension: "jpg|jpeg|png|pdf|mp4|mov|avi", // Validate file type
fileSize: 1024 * 1024 // 1MB file size limit
},
reason: {
required: true
}
},
messages: {
transporter_name: "Please enter the transporter's name",
reported_user_image: {
required: "Please upload an image",
extension: "Allowed file types: jpg, jpeg, png, pdf, mp4, mov, avi",
fileSize: "The uploaded file should not exceed 1MB."
},
reason: "Please provide a reason for the report"
}
});
});
});
// For cargo transport
$(document).ready(function () {
// Show modal if there is a success message
<?php if(session('report_success')): ?>
var reportModal = new bootstrap.Modal(document.getElementById('reportCargoUser'));
reportModal.show();
const reportMessage = document.getElementById('report-success-message');
if (reportMessage) {
setTimeout(() => {
reportMessage.style.display = 'none';
}, 5000);
}
$('#reportCargoUser').on('hidden.bs.modal', function() {
if (reportMessage) {
reportMessage.style.display = 'none';
}
});
<?php endif; ?>
$.validator.addMethod("fileSize", function(value, element, param) {
if (element.files.length > 0) {
return element.files[0].size <= param;
}
return true;
}, "The uploaded file should not exceed 1MB.");
// jQuery validation for user report form
$(document).ready(function() {
$("#userCargoRequest").validate({
rules: {
transporter_name: {
required: true
},
reported_user_image: {
required: true,
extension: "jpg|jpeg|png|pdf|mp4|mov|avi", // Validate file type
fileSize: 1024 * 1024 // 1MB file size limit
},
reason: {
required: true
}
},
messages: {
transporter_name: "Please enter the transporter's name",
reported_user_image: {
required: "Please upload an image",
extension: "Allowed file types: jpg, jpeg, png, pdf, mp4, mov, avi",
fileSize: "The uploaded file should not exceed 1MB."
},
reason: "Please provide a reason for the report"
}
});
});
});
</script>
<script>
$(document).ready(function() {
$("#BookingFormhome").validate({
rules: {
your_name: {
required: true,
minlength: 2
},
your_number: {
required: true,
digits: true,
minlength: 10,
maxlength: 10
},
your_email: {
required: true,
email: true
},
vehicle_type: {
required: true
},
passenger: {
required: true,
digits: true,
min: 1
},
pickup: {
required: true
},
drop: {
required: true
},
datetimepicker1: {
required: true
},
your_message: {
required: true
}
},
messages: {
your_name: "Please enter your name",
your_number: {
required: "Please enter your phone number",
digits: "Please enter a valid phone number",
minlength: "Phone number must be 10 digits",
maxlength: "Phone number must be 10 digits"
},
your_email: {
required: "Please enter your email address",
email: "Please enter a valid email address"
},
vehicle_type: "Please select a vehicle type",
passenger: {
required: "Please enter the number of passengers",
digits: "Please enter a valid number",
min: "Number of passengers must be at least 1"
},
pickup: "Please enter a pickup location",
drop: "Please enter a drop location",
datetimepicker1: "Please select a date and time",
your_message: "Please enter a description"
},
});
});
</script>
<script>
$(document).ready(function() {
const limit = 9; // Number of items per page
let currentPage = 1; // Initial page
// Function to load vehicles with AJAX
function loadVehicles(page) {
currentPage = page; // Update current page
let formData = $('#searchallForm').serializeArray().reduce((obj, item) => {
obj[item.name] = item.value;
return obj;
}, {});
$(".loader-main").show();
let seating_capacity = $('#seating_capacity').val();
$.ajax({
url: '<?php echo e(route('vehicles.ajax')); ?>',
type: 'GET',
data: {
seating_capacity: seating_capacity,
...formData,
page: page,
limit: limit
},
success: function(response) {
$(".loader-main").hide();
// Replace vehicle list with new content
$('#vehicle-list').html(response.html);
// ✅ Show the filter after content loads
$('.passenger_vehicle_filter').show();
// Update pagination
generatePagination(response.total_pages, page);
$('.car-model-radio:checked').trigger('change');
},
error: function() {
alert('An error occurred while fetching data.');
}
});
}
// Trigger the loadVehicles function when the seating capacity dropdown value is changed
$('select[name="seating_capacity"]').change(function() {
loadVehicles(currentPage);
});
// Function to generate pagination links (already provided in your code)
function generatePagination(totalPages, currentPage) {
$('#pagination-links').empty();
// Previous button
$('#pagination-links').append(`
<li class="page-item ${currentPage === 1 ? 'disabled' : ''}">
<a class="page-link" href="#" data-page="${currentPage - 1}"><i class="fas fa-arrow-left"></i></a>
</li>
`);
// Page numbers
for (let page = 1; page <= totalPages; page++) {
$('#pagination-links').append(`
<li class="page-item ${page === currentPage ? 'active' : ''}">
<a class="page-link" href="#" data-page="${page}">${page}</a>
</li>
`);
}
// Next button
$('#pagination-links').append(`
<li class="page-item ${currentPage === totalPages ? 'disabled' : ''}">
<a class="page-link" href="#" data-page="${currentPage + 1}"><i class="fas fa-arrow-right"></i></a>
</li>
`);
// Attach click event to pagination links
$('#pagination-links .page-link').click(function(e) {
e.preventDefault();
const page = $(this).data('page');
if (page > 0 && page <= totalPages) {
loadVehicles(page);
}
});
}
// Initial load with no filters
const currentRoute = window.location.pathname;
if (currentRoute === '/search') {
loadVehicles(currentPage);
}
});
</script>
<script>
// $(document).ready(function() {
// const limit = 9; // Number of items per page
// let currentPage = 1; // Initial page
// // Function to load vehicles with AJAX
// function loadVehicles(page) {
// currentPage = page; // Update current page
// let formData = $('#searchallForm').serializeArray().reduce((obj, item) => {
// obj[item.name] = item.value;
// return obj;
// }, {});
// $(".loader-main").show();
// let weight_capacity = $('#weight_capacity').val();
// $.ajax({
// url: '<?php echo e(route('get.cargo.vehicle')); ?>',
// type: 'GET',
// data: {
// weight_capacity: weight_capacity,
// ...formData,
// page: page,
// limit: limit
// },
// success: function(response) {
// $(".loader-main").hide();
// $('#cargo_vehicle_list').html(response.html); // Replace vehicle list with new content
// generatePagination(response.total_pages, page); // Update pagination
// },
// error: function() {
// alert('An error occurred while fetching data.');
// }
// });
// }
// // Function to generate pagination links
// function generatePagination(totalPages, currentPage) {
// $('#cargo-pagination-links').empty();
// $('#cargo-pagination-links').append(`
// <li class="page-item ${currentPage === 1 ? 'disabled' : ''}">
// <a class="page-link" href="#" data-page="${currentPage - 1}"><i class="fas fa-arrow-left"></i></a>
// </li>
// `);
// for (let page = 1; page <= totalPages; page++) {
// $('#cargo-pagination-links').append(`
// <li class="page-item ${page === currentPage ? 'active' : ''}">
// <a class="page-link" href="#" data-page="${page}">${page}</a>
// </li>
// `);
// }
// $('#cargo-pagination-links').append(`
// <li class="page-item ${currentPage === totalPages ? 'disabled' : ''}">
// <a class="page-link" href="#" data-page="${currentPage + 1}"><i class="fas fa-arrow-right"></i></a>
// </li>
// `);
// $('#cargo-pagination-links .page-link').click(function(e) {
// e.preventDefault();
// const page = $(this).data('page');
// if (page > 0 && page <= totalPages) {
// loadVehicles(page);
// }
// });
// }
// // Handle weight capacity dropdown change
// $('#weight_capacity').on('change', function() {
// loadVehicles(currentPage); // Re-load vehicles when filter changes
// });
// // Handle filter form submission via AJAX
// $('#filterButton').on('click', function(e) {
// e.preventDefault(); // Prevent default form submission
// loadVehicles(currentPage);
// });
// // Initial load with no filters
// loadVehicles(currentPage);
// });
$(document).ready(function() {
// Read config
let config = $('#cargoConfig').data();
const limit = parseInt(config.limit);
const pagination = config.pagination === true || config.pagination === 'true';
let currentPage = 1;
function loadVehicles(page) {
currentPage = page;
let formData = $('#searchallForm').serializeArray().reduce((obj, item) => {
obj[item.name] = item.value;
return obj;
}, {});
let weight_capacity = $('#weight_capacity').val();
$(".loader-main").show();
$.ajax({
url: '<?php echo e(route('get.cargo.vehicle')); ?>',
type: 'GET',
data: {
weight_capacity: weight_capacity,
...formData,
page: page,
limit: limit,
pagination: pagination
},
success: function(response) {
$(".loader-main").hide();
$('#cargo_vehicle_list').html(response.html);
if (response.pagination) {
generatePagination(response.total_pages, page);
} else {
$('#cargo-pagination-links').empty();
}
},
error: function() {
$(".loader-main").hide();
alert('An error occurred while fetching data.');
}
});
}
function generatePagination(totalPages, currentPage) {
$('#cargo-pagination-links').empty();
$('#cargo-pagination-links').append(`
<li class="page-item ${currentPage === 1 ? 'disabled' : ''}">
<a class="page-link" href="#" data-page="${currentPage - 1}"><i class="fas fa-arrow-left"></i></a>
</li>
`);
for (let page = 1; page <= totalPages; page++) {
$('#cargo-pagination-links').append(`
<li class="page-item ${page === currentPage ? 'active' : ''}">
<a class="page-link" href="#" data-page="${page}">${page}</a>
</li>
`);
}
$('#cargo-pagination-links').append(`
<li class="page-item ${currentPage === totalPages ? 'disabled' : ''}">
<a class="page-link" href="#" data-page="${currentPage + 1}"><i class="fas fa-arrow-right"></i></a>
</li>
`);
$('#cargo-pagination-links .page-link').click(function(e) {
e.preventDefault();
const page = $(this).data('page');
if (page > 0 && page <= totalPages) {
loadVehicles(page);
}
});
}
$('#weight_capacity').on('change', function() {
loadVehicles(1);
});
$('#filterButton').on('click', function(e) {
e.preventDefault();
loadVehicles(1);
});
loadVehicles(currentPage);
});
</script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Check if there's a success message
<?php if(session('business_success')): ?>
var myModal = new bootstrap.Modal(document.getElementById('exampleModal-2'));
myModal.show();
const successMessage = document.getElementById('success-register-business-message');
if (successMessage) {
setTimeout(() => {
successMessage.style.display = 'none';
}, 5000);
}
$('#exampleModal-2').on('hidden.bs.modal', function() {
const successMessage = document.getElementById('success-register-business-message');
if (successMessage) {
successMessage.style.display = 'none';
}
});
<?php endif; ?>
$('#register_business').validate({ // initialize the plugin
rules: {
name: {
required: true,
maxlength: 255
},
email: {
required: true,
email: true
},
phone_number: {
required: true,
digits: true,
minlength: 9,
maxlength: 10
},
message: {
required: false,
maxlength: 500
}
},
messages: {
name: {
required: "Please enter your name",
maxlength: "Name must not exceed 255 characters"
},
email: {
email: "Please enter a valid email address"
},
phone_number: {
digits: "Please enter only digits (0-9)",
minlength: "Phone number must be 9 digits",
maxlength: "Phone number cannot exceed 10 digits"
},
message: {
required: "Please enter your message",
maxlength: "Message must not exceed 500 characters"
}
},
});
$('#subscribe_form').validate({ // initialize the plugin
rules: {
email: {
required: true,
email: true
}
},
messages: {
email: {
email: "Please enter a valid email address"
},
},
});
});
</script>
<script>
$(document).ready(function() {
// Show the city select popup if no city is selected (optional)
if (!$('#city-dropdown').val()) {
$('#city_select_popup').modal('show');
}
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
// Show loader function
function showLoader() {
$('.loader-main').show();
}
// Hide loader function
function hideLoader() {
$('.loader-main').hide();
}
// Handle city selection from the header dropdown
$('#city-dropdown').change(function() {
var selectedCityId = $(this).val();
showLoader();
// Make an AJAX POST request to update the selected city
$.post("<?php echo e(route('select.city')); ?>", {
city_id: selectedCityId
}, function(response) {
if (response.status === 'success') {
$('#city-dropdown option:selected').text(response.city_name);
// Refresh the page
location.reload();
}
}).fail(function() {
alert('Failed to update the city. Please try again.');
}).always(function() {
hideLoader(); // Hide loader after completion
});
});
$(document).ready(function() {
$("#reportForm").on("submit", function(event) {
event.preventDefault();
var formData = new FormData(this);
$.ajax({
url: $(this).attr("action"),
type: "POST",
data: formData,
processData: false,
contentType: false,
success: function(response) {
$("#successMessage").html(
'<div class="alert alert-success"> Report submitted successfully!</div>'
).fadeIn();
$("#reportForm")[0].reset();
setTimeout(function() {
$("#successMessage").fadeOut();
$("#reportedUserModal").modal("hide");
}, 2000);
},
error: function(xhr) {
$("#errorMessage").html(
'<div class="alert alert-danger"> Something went wrong! Please try again.</div>'
).fadeIn();
setTimeout(function() {
$("#errorMessage").fadeOut();
}, 3000);
}
});
});
});
$("#reportForm").validate({
rules: {
name: {
minlength: 3
},
email: {
email: true
},
reason: {
required: true,
minlength: 5
},
transporter: {
required: true
}
},
messages: {
name: {
minlength: "Name must be at least 3 characters long."
},
email: {
email: "Enter a valid email address."
},
reason: {
required: "Reason is required.",
minlength: "Reason must be at least 5 characters long."
},
transporter: {
required: "Transporter is required."
}
},
errorElement: "small",
errorClass: "text-danger",
highlight: function(element) {
$(element).addClass("is-invalid");
},
unhighlight: function(element) {
$(element).removeClass("is-invalid");
},
errorPlacement: function(error, element) {
error.insertAfter(element);
}
});
});
const seatingOptions = JSON.parse($('#seating_options_data').val());
$('#service_type').on('change', function () {
const selectedType = $(this).val();
const capacityDropdown = $('#seating_capacity');
// Set placeholder based on selected service type
const labelText = selectedType === 'Goods Transport' ? 'Weight Capacity' : 'Seating Capacity';
// Reset dropdown and show dynamic first option
capacityDropdown.empty().append(`<option value="">${labelText}</option>`);
// Append new options
if (seatingOptions[selectedType]) {
$.each(seatingOptions[selectedType], function (key, value) {
capacityDropdown.append(`<option value="${key}">${value}</option>`);
});
}
});
</script>
<?php /**PATH /var/www/html/orbidirectory.com/resources/views/front/partial/script.blade.php ENDPATH**/ ?>