$(document).ready(function() { var JourneyDate; $('#check_availibilty').click(function(){ JourneyDate = document.getElementById("journeydate").value; if (JourneyDate != "" ) { $.ajax({ url: "https://yatrisubidha.wb.gov.in/getAvalableSlot", method: "post", data: { JourneyDate: JourneyDate, }, success: function (data) { $("#tc_report").html(data); var table = $("#tbl_slots").DataTable({ "responsive": true, "paging": false, "lengthChange": false, "autoWidth": false, columnDefs: [ { targets: -1, data: null, defaultContent: '', }, ], }); $('#tbl_slots tbody').on('click', 'button', function () { var data = table.row($(this).parents('tr')).data(); $.redirect('BookSlot',{'SlotID':data[0],'SlotName':data[1],'SlotTiming':data[2],'JourneyDate':JourneyDate}); }); } }); } else { $('.alert-danger').addClass('show'); $('.alert-danger').removeClass('d-none'); $('.message-danger').text('Network Error, Please Try again.'); setTimeout(() => { $('.alert').addClass('d-none'); $('.alert').removeClass('show'); }, 3000); } }); //************************** Start Busy Indicator ************************************************* $(document).ajaxStart(function () { $("#wait").css("display", "block"); }); $(document).ajaxComplete(function () { $("#wait").css("display", "none"); }); //************************* End Busy Indicator ************************************************** var AllPassengerInformation = []; $('#add_person').on('click', function () { var tr_count = $("#table tr").length; if(tr_count >= 5){ $('#person_limit_error_btn').click(); }else { function validatePassportNumber(passportNumber) { const regex = /^[A-Za-z0-9]{8,9}$/; return regex.test(passportNumber); } var arr_mobile = $('#mobile_number').val().split(" ").slice(-1); var mobileNumber = arr_mobile[0]; function isValidPhoneNumber(phoneNumber) { const phoneRegex = /^[0-9]{10}$/; return phoneRegex.test(phoneNumber); } var passportNumber = $('#passport_number').val().trim(); if (!validatePassportNumber(passportNumber)) { $('.alert-danger').removeClass('d-none'); $('.alert-danger').addClass('show'); $('.count-down-line').addClass('active'); $('.message-danger').text('Invalid passport number.'); setTimeout(() => { $('.alert-danger').addClass('d-none'); $('.alert-danger').removeClass('show'); $('.count-down-line').removeClass('active'); }, 3000); $('.passport-validation').removeClass('d-none'); $('#passport_number').addClass('border-danger'); } else if(!isValidPhoneNumber(mobileNumber)) { $('.alert-danger').removeClass('d-none'); $('.alert-danger').addClass('show'); $('.count-down-line').addClass('active'); $('.message-danger').text('Invalid mobile number.'); setTimeout(() => { $('.alert-danger').addClass('d-none'); $('.alert-danger').removeClass('show'); $('.count-down-line').removeClass('active'); }, 3000); $('.mobile-validation').removeClass('d-none'); $('#mobile_number').addClass('border-danger'); }else{ $('.mobile-validation').addClass('d-none'); $('.passport-validation').addClass('d-none'); $('#passport_number').removeClass('border-danger'); $('#mobile_number').removeClass('border-danger'); $('.alert-success').removeClass('d-none'); $('.alert-success').addClass('show'); $('.count-down-line').addClass('active'); $('.message-success').text('You have successfully added a passanger.'); setTimeout(() => { $('.alert-success').addClass('d-none'); $('.alert-success').removeClass('show'); $('.count-down-line').removeClass('active'); }, 3000); // getting values from form var slotID = $('#slotID').val(); var name = $('#name').val(); var mobile_number = $('#mobile_number').val().replace('+',''); var email = $('#email').val(); var nationality = $('#nationality').val(); var passport_number = $('#passport_number').val(); var address = $('#address').val(); var intended_travel_date = $('#intended_travel_date').val(); var PassengerInfo = { FullName: name, Address: address, Nationality: nationality, DOB: "2023-05-28", Gender: "M", MobileNo: mobile_number, EmailID: email, PassportNo: passport_number, PassportValidUpto: "2023-05-28", VisaNo: "0", VisaValidUpto: "2023-05-28"}; var BoolingInfo = { PrefferedSlotID: slotID, JourneyDate: intended_travel_date, PassengerInformation: PassengerInfo, AuthInfo : "" } AllPassengerInformation.push(PassengerInfo); // showing the table $('#table').removeClass('d-none'); // adding row dynamically $('#tbody').append(` ${name} ${mobile_number} ${email} ${nationality} ${passport_number} ${intended_travel_date} `); $('.alert-success').removeClass('d-none'); $('.alert-success').addClass('show'); $('.message-success').text('You have successfully added a passanger'); setTimeout(() => { $('.alert').addClass('d-none'); $('.alert').removeClass('show'); }, 3000); // reseting the input fields $('#name').val(''); $('#mobile_number').val(''); $('#email').val(''); $('#passport_number').val(''); $('#address').val(''); } } // else close }); // deleting the passerngers // row delete logic $("#table").on('click', '.delete', function () { var index = $(this).closest('tr').index(); $(this).closest('tr').remove(); for (let i = 0; i < AllPassengerInformation.length; i++) { if(index == i){ AllPassengerInformation.splice(index, 1); $(this).closest('tr').remove(); // console.log(AllPassengerInformation); } } }); $('#Book_Slot_Save').on('click', function () { var numRows = $('#table tr').length; if (numRows==0) { $('.alert-danger').addClass('show'); $('.message-danger').text('You have not added any person'); setTimeout(() => { $('.alert').addClass('d-none'); $('.alert').removeClass('show'); }, 3000); } else { var slotID = $('#slotID').val(); var intended_travel_date = $('#intended_travel_date').val(); $.redirect('SaveBookSlot',{'PassengerInformation':AllPassengerInformation,'PrefferedSlotID':slotID,'JourneyDate':intended_travel_date}); }; }); $("#pdf-eng").click(function () { var HTML_Width = $(".mypage").width(); var HTML_Height = $(".mypage").height(); var top_left_margin = 15; var PDF_Width = HTML_Width + (top_left_margin * 2); var PDF_Height = (PDF_Width * 1.5) + (top_left_margin * 2); var canvas_image_width = HTML_Width; var canvas_image_height = HTML_Height; var totalPDFPages = Math.ceil(HTML_Height / PDF_Height) - 1; html2canvas($(".mypage")[0]).then(function (canvas) { var imgData = canvas.toDataURL("image/jpeg", 1.0); var pdf = new jsPDF('p', 'pt', [PDF_Width, PDF_Height]); pdf.addImage(imgData, 'PNG', top_left_margin, top_left_margin, canvas_image_width, canvas_image_height); for (var i = 1; i <= totalPDFPages; i++) { pdf.addPage(PDF_Width, PDF_Height); pdf.addImage(imgData, 'PNG', top_left_margin, -(PDF_Height*i)+(top_left_margin*4),canvas_image_width,canvas_image_height); } pdf.save("BoardingPass.pdf"); }); }); $("#print-eng").click(function () { $(".item").print({ globalStyles: true, mediaPrint: false, stylesheet: "https://yatrisubidha.wb.gov.in/files/assets/custom/css/BoardingPass1.css", noPrintSelector: ".footer-bg .footer", iframe: true, append: null, prepend: null, manuallyCopyFormValues: true, deferred: $.Deferred(), timeout: 750, title: null, doctype: '' }); }); }); // auto hide alert logic setTimeout(() => { $('.alert').addClass('hide'); $('.alert').removeClass('show'); }, 4000); // hide alert $('.fa-xmark').click(function() { $('.alert').addClass('d-none'); }); $('#hindi-dropdown').on('click', function () { $.ajax({ url: "https://yatrisubidha.wb.gov.in/set_session", method: "post", data: { lang: "HN", }, success: function (data) { } }); location.reload(true); }); $('#bangla-dropdown').on('click', function () { $.ajax({ url: "https://yatrisubidha.wb.gov.in/set_session", method: "post", data: { lang: "BN", }, success: function (data) { } }); location.reload(true); }); $('#english-dropdown').on('click', function () { $.ajax({ url: "https://yatrisubidha.wb.gov.in/set_session", method: "post", data: { lang: "EN", }, success: function (data) { } }); location.reload(true); });