JAVASCRIPT   5

simple-booking.js

Guest on 19th May 2021 04:53:47 AM

  1.     $('#valBookingWithOutEmail').click(function (event)
  2.     {
  3.         $('#sendEmail').val('0');
  4.         if (checkAvailability()==true) { checkRoomAvailability($('#idRoom').val(),$('#from').val(),$('#until').val(),$('#mod_id').val());}
  5.     });
  6.  
  7.     $('#valbookingWithEmail').click(function (event)
  8.     {
  9.         if  ($('#email').val()!='') {
  10.             if  (is_email($('#email').val())) {
  11.                 $('#sendEmail').val('1');
  12.                 $('#validateFinally').val('1');
  13.                 if (checkAvailability()==true) { checkRoomAvailability($('#idRoom').val(),$('#from').val(),$('#until').val(),$('#mod_id').val());}
  14.             } else {
  15.                 $('#email').focus();alerte("L'adresse email est incorrecte");
  16.             }
  17.         } else {
  18.           $('#email').focus();alerte("Veuillez saisir une adresse email valide SVP");
  19.         }
  20.     });
  21.  
  22.     $('#emailOnly').click(function (event)
  23.     {
  24.         if  ($('#email').val()!='') {
  25.             if  (is_email($('#email').val())) {
  26.                 $('#sendEmail').val('1');
  27.                 sendBooking($('#mod_id').val());
  28.             } else {
  29.                 $('#email').focus();alerte("L'adresse email est incorrecte");
  30.             }
  31.         } else {
  32.           $('#email').focus();alerte("Veuillez saisir une adresse email valide SVP");
  33.         }
  34.     });
  35.  
  36.     $('#delBooking').click(function (event)
  37.     {
  38.         if  ($('#email').val()!='') {
  39.             if  (is_email($('#email').val())) {
  40.                 delBooking($('#mod_id').val());
  41.             } else {
  42.                 $('#email').focus();alerte("L'adresse email est incorrecte");
  43.             }
  44.         } else {
  45.             delBooking($('#mod_id').val());
  46.         }
  47.     });
  48.  
  49.     function checkAvailability()
  50.     {
  51.         $('#wait').hide();
  52.         var validForm=true;
  53.         $('#alreadyBooking').val('0');
  54.  
  55.         if ($('#idRoom').val() == "-1" && validForm==true) {alerte("Vous ne pouvez pas rĆ©server cette chambre, elle est dĆ©jĆ  occupĆ©e aux dates choisies"oisies");validForm=false;}
  56.         if ($('#idRoom').val() == "-2" && validForm==true) {alerte("Vous ne pouvez pas rĆ©server cette chambre en raison de fermeture");validForm=false;}
  57.         if ($('#name').val() == "" && validForm==true) {$('#name').focus();alerte("Veuillez saisir le nom du client");validForm=false;}
  58.         if ($(').val() == "" && validForm==true) {$('rue) {$(').focus();alerte("Veuillez saisir le prĆ©nom du client");validForm=false;}
  59.        if (($('   if (($('#email').val() != "" && validForm==true)&&!is_email($('#email').val())) {$('#email').focus();alerte("L'adresse email est incorrect");validForm=false;}
  60.         if ($('#tel').val() == "" && validForm==true) {$('#tel').focus();alerte("Veuillez saisir le tĆ©lĆ©phone du client");validForm=f//if ($('#email').val() == "") {alerte("Veuillez saisir l'email du client");$('#email').focus();return false;}
  61. return false;}
  62.         if ( $('#adultNumber').val() == "0" && validForm==true && $('#childNumber').val() == "0" && $('#babyNumber').val() == "0" ) {alerte("Veuillez saisir le nombre d'enfant");validForm=false;}
  63.  
  64.        if (($('       if (($('#from').val() != "" && validForm==true)&&(!is_date($('#from').val()))) {alerte("La date de dĆ©but de rĆ©servation est incorrect");validForm=false;}
  65.         if (($('#until').val() != "" && validForm==true)&&(!is_date($('#until').val()))) {alerte("La date de fin de rĆ©servation est incorrect");validForm=false;}
  66.         if (($('#from').val() != "" && validForm==true)&&($('#until').val() != "")) {
  67.             if (compare($('#from').val(),$('#until').val())==false) {validForm=false;}
  68.         }
  69.         if ($('#idRoom').val() == "-1" && validForm==true) {alerte("Vous ne pouvez pas rĆ©server cette chambre, elle est dĆ©jĆ  occupĆ©e aux dates choisies");validForm=false;}
  70.         if ($('#idRoom').val() == "-2" && validForm==true) {alerte("Vous ne pouvez pas rĆ©server cette chambre en raison de fermeture");validForm=false;}
  71.  
  72.         if (checkGroupPeople()==false) {validForm=false;}
  73.         if (checkBookingtoValidate()!=true) {validForm=false;}
  74.  
  75.         if ($('#validateBooking').val()=="1" || $('#validateFinally').val()=="1"){
  76.             if ($('#from').val() == ""Veuillez saisir la date de dĆ©but de rĆ©servation"ate de dĆ©but de rĆ©servation");validForm=false;}
  77.             if ($('#until').val() == "" && validForm==true) {alerte("Veuillez saisir la date de fin de rĆ©servation");validForm=false;}
  78.         }
  79.  
  80.         if (validForm==true) {
  81.             $("#wait").show();
  82.         } else {
  83.             $('#sendEmail').val('0');
  84.             $("#wait").hide();
  85.         }
  86.         return validForm;
  87.     }
  88.  
  89.     function lauchForm()
  90.     {
  91.         if ($('#alreadyBooking').val()=="1" )
  92.        {
  93.            alerte("DĆ©solĆ© cette rĆ©servation n'erte("DĆ©solĆ© cette rĆ©servation n'est plus possible Ć  cette date pour cette chambre, il y a eu une rĆ©servation entre-temps");
  94.             $('#validateFinally').val('0');
  95.             $('#wait');
  96.        } else {
  97.            sendFormBooking();
  98.        }
  99.    }
  100.  
  101.    function checkGroupPeople()
  102.    {
  103.        var validForm=true;
  104.        $("select").each(function( ) {
  105.            if  ( $(this).attr("name").substr(0,13)=='   if  ( $(this).attr("name").substr(0,13)=='mySelectAdult')
  106.             {
  107.                 if ( $('#'+$(this).attr("name"Veuillez sĆ©lectionner l'Ć¢ge de tous les adultes"lez sĆ©lectionner l'Ć¢ge de tous les adultes");validForm=false;}
  108.             }
  109.  
  110.             if  ( $(this).attr("name").substr(0,13)=='mySelectChild')
  111.             {
  112.                 if ($('#'+$(this).attr("name")).val() == "0" && validForm==true) {alerte("Veuillez sĆ©lectionner l'Ć¢ge de tous les enfants");validForm=false;}
  113.             }
  114.  
  115.             if  ( $(this).attr("name").substr(0,12)=='mySelectBaby')
  116.             {
  117.                 if ($('#'+$(this).attr("name")).val() == "0" && validForm==true) {alerte("Veuillez sĆ©lectionner l'Ć¢ge de tous les bĆ©bĆ©s");validForm=false;}
  118.             }
  119.         });
  120.         return validForm;
  121.     }
  122.  
  123.     function showAccordion(name){
  124.         $('#table1').attr('class','panel-collapse collapse');
  125.         $('#table2').attr('class','panel-collapse collapse');
  126.         $('#table3').attr('class','panel-collapse collapse in'        $('#'+name).attr('class','panel-collapse collapse in');
  127.         scrollNav();
  128.     }
  129.  
  130.     function delBooking(idBooking){
  131.  
  132.         swal({
  133.             title: "Attention",
  134.             text: "Etes-vous sĆ»r de vouloir supprimer cette rĆ©servation?",
  135.             type: "warning",
  136.             showCancelButton: true,
  137.             confirmButtonColor: "#b53000",
  138.             confirmButtonText: "Supprimer",
  139.             cancelButtonText: "Annuler",
  140.             closeOnConfirm: true,
  141.             closeOnCancel: true
  142.         },
  143.  
  144.         function(isConfirm){
  145.             if (isConfirm) {
  146.                $.ajax({
  147.                     url: 'ajax.php?p=delBooking',
  148.                     type: 'GET',
  149.                     data: {
  150.                        "idBooking":idBooking,
  151.                        "sendTo":$('#email').val(),
  152.                     },
  153.                     success: function(html) {
  154.                         eval (html);
  155.                     }
  156.               });
  157.             }
  158.         });
  159.     }
  160.  
  161.     function checkRoomAvailability(idRoom,from,until,idBooking)
  162.     {
  163.         $.ajax({
  164.             url: 'ajax.php?p=checkRoomAvailability',
  165.             type: 'GET',
  166.             data: {
  167.                "idRoom":idRoom,
  168.                "from":from,
  169.                "until":until,
  170.                "idBooking":idBooking,
  171.             },
  172.             success: function(html) {
  173.                 eval (html);
  174.             }
  175.        });
  176.     }
  177.  
  178.     function loadFreeRooms(idBooking,idRoom,from,until)
  179.     {
  180.         if (from!="" && until!="") {
  181.             $.ajax({
  182.                 url: 'ajax.php?p=selectRoomFree',
  183.                 type: 'GET',
  184.                 data: {
  185.                    "idBooking":idBooking,
  186.                    "idRoom":idRoom,
  187.                    "from":from,
  188.                    "until":until,
  189.                 },
  190.                 success: function(html) {
  191.                     eval (html);
  192.                 }
  193.            });
  194.         }
  195.     }
  196.  
  197.     function showCalendar(previous,next)
  198.     {
  199.         $.ajax({
  200.              url: 'ajax.php?p=showCalendar',
  201.              type: ').val(),
  202.                "yearLoad":$('    "monthLoad":$('#month').val(),
  203.                 "yearLoad":$('#year').val(),
  204.                 "previous":previous,
  205.                 "next":next,
  206.              },
  207.              success: function(html) {
  208.                  eval (html);
  209.              }
  210.        });
  211.     }
  212.  
  213.     function bookingByDate(year,month,day)
  214.     {
  215.         if (day<=9) {day='0'+day;}
  216.         if (month<=9) {month='0'+month;}
  217.         var dateBooking=year+"-"+month+"-"+day;
  218.             $.ajax({
  219.                  url: 'ajax.php?p=bookingByDate',
  220.                  type: 'GET',
  221.                  data: {
  222.                     "year":year,
  223.                     "month":month,
  224.                     "day":day,
  225.                  },
  226.                  success: function(html) {
  227.                      eval (html);
  228.                  }
  229.            });
  230.     }
  231.  
  232.     function bookingStandBy()
  233.     {
  234.             $.ajax({
  235.                  url: 'ajax.php?p=bookingStandBy',
  236.                  type: 'GET',
  237.                  data: {
  238.                  },
  239.                  success: function(html) {
  240.                      eval (html);
  241.                  }
  242.            });
  243.     }
  244.  
  245.     function sendBooking(idBooking)
  246.     {
  247.  
  248.             $.ajax({
  249.                  url: 'ajax.php?p=sendBooking',
  250.                  type: 'GET',
  251.                  data: {
  252.                     "idBooking":idBooking,
  253.                     "sendTo":$('#email').val(),
  254.                  },
  255.                  success: function(html) {
  256.                      eval (html);
  257.                  }
  258.            });
  259.     }
  260.  
  261.  
  262.  
  263.     function searchFreeRooms()
  264.     {
  265.         idBooking=$('#mod_id').val();
  266.         idRoom=''+$('#idRoom').val();
  267.         from=''+$('#from').val();
  268.         until=''+$('#until').val();
  269.         loadFreeRooms(idBooking,idRoom,from,until);
  270.     }
  271.  
  272.     function makeAddFields(group)
  273.     {
  274.         if (group==0){
  275.             var1='adult';var2='Adult';
  276.         }else if (group==1){
  277.             var1='child';var2='Child';
  278.         }else if (group==2){
  279.             var1='baby';var2='#'by';
  280.         }
  281.         category=group;
  282.         numberPeople=$('#'+var1+'Number').val();
  283.         listValue=$('#listAge'+var2).val();
  284.         minOld=$('#minOld'+var2).val();
  285.         maxOld=$('#maxOld'+var2).val();
  286.         ageScale=$('#ageScale'+var2).val();
  287.  
  288.         addFields(numberPeople,category,''+listValue,minOld,maxOld,''+ageScale);
  289.     }
  290.  
  291.     function alerte($val)
  292.     {
  293.         swal("Formulaire non valide !", $val, "error");
  294.     }
  295.  
  296.     function alerteSuccess($val)
  297.     {
  298.         swal("Bravo !", $val, "success");
  299.     }
  300.     function is_mail(a_mail) {
  301.        mymail = a_mail;
  302.        var mail_err = 0;
  303.        var r_mail = mail = r_mail.exec(mymail);
  304.        return ok_mail;
  305.   ;
  306.        ok_mail = r_mail.exec(mymail);
  307.        return ok_mail;
  308.     }
  309.  
  310.     function is_date(tmp)
  311.     {
  312.         if (tmp.length !=10) return false;
  313.         if ((isNaN(tmp.substr(0,2)))||(isNaN(tmp.substr(3,2)))||(isNaN(tmp.substr(6,4)))) return false;
  314.         if((tmp.substr(2,1) !="-") || (tmp.substr(5,1) !="-")) return false;
  315.         j = Number(tmp.substr(0,2));
  316.         m = Number(tmp.substr(3,2));
  317.         a = Number(tmp.substr(6,2));
  318.         if (a%4 == 0) {fev = '29';} else {fev = '28';}
  319.         nbJours = [31,fev,31,30,31,30,31,31,30,31,30,31];
  320.         if ((j > nbJours[m-1])||(j<1)) return false;
  321.         return !((m > 12)||(m <1));
  322.     }
  323.  
  324.     function ucaseIt(obj){
  325.         if (obj.val()!='')
  326.             if (obj.val().substr(0, 1).toUpperCase() != obj.val().substr(0, 1)) {
  327.                 obj.val(obj.val().substr(0, 1).toUpperCase() + obj.val().substr(1, obj.val().length))
  328.             }
  329.     }
  330.  
  331.     $('.onkeyUpTitle').keyup(function() {
  332.         idName=$(this).attr("id");
  333.         ucaseIt($('#'+idName));
  334.     });
  335.  
  336.  
  337.     function addFields(numberPeople,category,listValue,minOld,maxOld,ageScale)
  338.     {
  339.         var number = numberPeople;
  340.         var tab = ["Adulte", "Enfant", "BĆ©bĆ©"];
  341.         var tab2 = ["Adult"container" "Baby"];
  342.         var container = document.getElementById("container"+tab2[category]);
  343.         if (listValue!="") {
  344.                 old=listValue.split("|");
  345.         }
  346.  
  347.         while (container.hasChildNodes()) {
  348.             container.removeChild(container.lastChild);
  349.         }
  350.         for (i=0;i<number;i++){
  351.  
  352.             var selectList = document.createElement("select");
  353.             selectList.id = "mySelect"+tab2[category];
  354.             selectList.name= "mySelect"+tab2[category];
  355.             selectList.className = "col-md-12 col-xs-6 no-padding text-right";
  356.             container.appendChild(selectList);
  357.  
  358.             var option = document.createElement("option");
  359.             option.value = 0;
  360.             option.text ="Votre sĆ©lection";
  361.  
  362.             selectList.appendChild(option);
  363.  
  364.             for (j = parseInt(minOld); j <= parseInt(maxOld); j++) {
  365.                 option = document.createElement("option");
  366.                 option.value = j;
  367.                 option.text =tab[category]+" de "+j+" "+ageScale;
  368.                 if (listValue!="") {
  369.                     if (typeof old[i] != 'undefined') {
  370.                             if (option.value==old[i+1]) {option.selected = true;}
  371.                     }
  372.                 }
  373.                 selectList.appendChild(option);
  374.             }
  375.  
  376.         }
  377.  
  378.     }
  379.  
  380.     function compare(date1,date2) {
  381.         tab=date1.split("-");
  382.         var d1 = new Date(tab[2],tab[1]-1,tab[0]);
  383.         tab=date2.split("-");
  384.         var d2 = new Date(tab[2],tab[1]-1,tab[0]);
  385.         if (d1 > d2) {
  386.                 alerte("Attention la date de fin de rĆ©servation est antĆ©rieure Ć  la date de dĆ©but de rĆ©servation"); return false;
  387.         } else if (d1 < d2) {
  388.                 return true;
  389.         } else {
  390.                 alerte("Attention la date de dĆ©but et de fin de rĆ©servation sont identiques, vous devez rĆ©server au moins une nuitĆ©");return false;
  391.         }
  392.         return true;
  393.     }
  394.  
  395.  
  396.     function checkBookingtoValidate()
  397.     {
  398.         if ($('#name').val()=="") {
  399.             alerte("Veuillez saisir correctement votre rĆ©servation avant de la valider dĆ©finitivement");
  400.             $('#validateFinally').val('0');
  401.             return false;
  402.         }
  403.  
  404.         return true;
  405.     }
  406.  
  407.     $(document).ready(function()
  408.     {
  409.         showAccordion('table1');
  410.         showCalendar(0,0);
  411.         var d=new Date();
  412.         bookingByDate(d.getFullYear(),d.getMonth()+1,d.getDate());
  413.         bookingStandBy();
  414.     });
  415.  
  416.     $(function() {
  417.         var ele   = $('#booking1 #myScrollBooking');
  418.         var speed // Scroll the element up
  419. ng;
  420.  
  421.         $('#scroll-up1').mouseenter(function() {
  422.  
  423.             // Scroll the element up
  424.             scrolling = window.setInterval(function() {
  425.                 ele.scrollTop( ele.scrollTop() - scroll );
  426.        // Scroll the element down
  427.  
  428.  
  429.         $('#scroll-down1').mouseenter(function() {
  430.             // Scroll the element down
  431.             scrolling = window.setInterval(function() {
  432.                 ele.scrollTop( ele.scrollTop() + scroll );
  433.             }, speed);
  434.         });
  435.  
  436.     // Prevent the default click action
  437. bind({
  438.             click: function(e) {
  439.                 // Prevent the default click action
  440.                 e.preventDefault();
  441.             },
  442.             mouseleave: function() {
  443.                 if (scrolling) {
  444.                     window.clearInterval(scrolling);
  445.                     scrolling = false;
  446.                 }
  447.             }
  448.         });
  449.     });
  450.  
  451.     $(function() {
  452.         var ele   = $('#booking2 #myScrollWait');
  453.         var speed// Scroll the element up
  454. ing;
  455.  
  456.         $('#scroll-up2').mouseenter(function() {
  457.             // Scroll the element up
  458.             scrolling = window.setInterval(function() {
  459.                 ele.scrollTop( ele.scrollTop() - scroll );
  460.        // Scroll the element down
  461.  
  462.  
  463.         $('#scroll-down2').mouseenter(function() {
  464.             // Scroll the element down
  465.             scrolling = window.setInterval(function() {
  466.                 ele.scrollTop( ele.scrollTop() + scroll );
  467.             }, speed);
  468.         });
  469.  
  470.     // Prevent the default click action
  471. bind({
  472.             click: function(e) {
  473.                 // Prevent the default click action
  474.                 e.preventDefault();
  475.             },
  476.             mouseleave: function() {
  477.                 if (scrolling) {
  478.                     window.clearInterval(scrolling);
  479.                     scrolling = false;
  480.                 }
  481.             }
  482.         });
  483.     });
  484.  
  485.  
  486.     function scrollNav()
  487.     {
  488.  
  489.         if ($('#myScrollWait').prop("scrollHeight")>290) {
  490.             $('#scroll-up2').show();
  491.             $('#scroll-down2').show();
  492.         } else {
  493.             $('#scroll-up2').prop("scrollHeight")>290) {
  494.            $('();
  495.         }
  496.  
  497.         if ($('#myScrollBooking').prop("scrollHeight")>290) {
  498.             $('#scroll-up1').show();
  499.             $('#scroll-down1').show();
  500.         } else {
  501.             $('#scroll-up1').hide();
  502.             $('#freeRooms #idRoom'e();
  503.         }
  504.  
  505.     }
  506.  
  507.     function searchClass()
  508.     {
  509.         value=$('#freeRooms #idRoom').val();
  510.         if (value=="-1") {myClass="occupied";}
  511.         else if (value=="-2") {myClass="closed";}
  512.         else {myClass="free";}
  513.         $('#freeRooms #idRoom').removeClass("occupied");
  514.         $('#freeRooms #idRoom').removeClass("closed");
  515.         $('#freeRooms #idRoom').removeClass("free");
  516.         $('#freeRooms #idRoom').addClass(myClass);
  517.     }
  518.  
  519.     $("#formBooking #adultNumber").change(function( index ) {
  520.         makeAddFields(0);
  521.     });
  522.     $("#formBooking #childNumber").change(function( index ) {
  523.         makeAddFields(1);
  524.     });
  525.     $("#formBooking #babyNumber").change(function( index ) {
  526.         makeAddFields(2);
  527.     });
  528.     $(".bookingModalButton").click(function( index ) {
  529.         showButtonControl();
  530.     });
  531.  
  532.     function showButtonControl()
  533.   //booking
  534.   $('#sendEmail').val(').val()!="0" && $('lBookingWithOutEmail').show();
  535.  
  536.         //booking
  537.         if ($('#mod_id').val()!="0" && $('#//real booking
  538. ="00") {
  539.             if ($('#validateBooking').val()=="1") {
  540.                 //real booking
  541.                 $('#delBooking').show();
  542.                 $('#emailOnly').show();
  543.                 $('#valbookingWi// booking stand by exist
  544.     } else if ($('#validateBooking').val()=="") {
  545.                 // booking stand by exist
  546.                 $('#delBooking').show();
  547.                 $('#emailOnly').hide();
  548.                 $('#valbooking//new booking
  549. ow();
  550.             }
  551.         } else if ($('#mod_id').val()=="0") {
  552.             //new booking
  553.             $('#delBooking').hide();
  554.             $('#emailOnly').hide();
  555.             $//new booking stand by
  556. ).show();
  557.         } else if ($('#mod_id').val()=="00") {
  558.             //new booking stand by
  559.             $('#delBooking').hide();
  560.             $('#emailOnly').hide();
  561.             $('#valbookingWithEmail').show();
  562.         }
  563.  
  564.     }
  565.  
  566.     function calendarClick(year,month,day)
  567.     {
  568.         showAccordion('table1'#bookingModal'kingByDate(year,month,day);
  569.     }
  570.  
  571.     function closeModal()
  572.     {
  573.         $('#bookingModal').hide();
  574.     }
  575.  
  576.     function hideLabelBooking(id)
  577.     {
  578.         $("#"+id).hide();
  579.     }
  580.  
  581.     function showModal()
  582.     {
  583.         $('#bookingModal').show();
  584.     }
  585.  
  586.     function sendFormBooking()
  587.     {
  588.             if ($('#mod_id').val()=="00") {standBy=1;}
  589.             else if ($('#mod_id').val()=="0"){standBy=0;}
  590.             else if ($('#validateBooking').val()=="0" || $('#validateBooking').val()=="" ){standBy=1;}
  591.             else {standBy=0;}
  592.  
  593.             $.ajax({
  594.                  url: 'ajax.php?p=sendFormBooking',
  595.                  type: 'POST',
  596.                  data: {
  597.                     "mod_id":$(').val(),
  598.                    "surname":$('dBy":standBy,
  599.                     "name":$('#name').val(),
  600.                     "surname":$('#name').val(),
  601.                     "idRoom":$('#idRoom').val(),
  602.                    "adultNumber":$('.val(),
  603.                     "until":$('#until').val(),
  604.                     "adultNumber":$('#adultNumber').val(),
  605.                     "childNumber":$('#childNumber').val(),
  606.                     "babyNumber":$('#babyNumber').val(),
  607.                     "mySelectAdult":$('#mySelectAdult').val(),
  608.                     "mySelectChild":$('#mySelectChild').val(),
  609.                     "mySelectBaby":$('#mySelectBaby').val(),
  610.                     "comment":$('#comment').val(),
  611.                     "commentPrivate":$('#commentPrivate').val(),
  612.                     "tel":$('#tel').val(),
  613.                     "email":$('#email').val(),
  614.                     "validateBooking":$('#validateBooking').val(),
  615.                     "validateFinally":$('#validateFinally').val(),
  616.                     "bookingType":$('#bookingType').val(),
  617.                     "sendEmail":$('#sendEmail').val(),
  618.  
  619.                  },
  620.                  success: function(html) {
  621.                      eval (html);
  622.                  }
  623.            });
  624.     }
  625.     function is_email(a_mail) {
  626.         mymail = a_mail;
  627.         var mail_err = 0;
  628.         var r_mail = ;
  629.         return ok_mail;
  630.     }

Raw Paste


Login or Register to edit or fork this paste. It's free.