var pageBooking = { create: function(step) { if (step == '1') { this.initStep1(); } else if (step == '2') { this.initStep2(); } else if (step == '3') { } // jQuery('.section-booking-bar').hide(); }, initStep1: function() { jQuery("#rooms-list .e .btn-select-room").on('click', function() { var room_id = jQuery(this).closest('.e').attr('data-room-id'); pageBooking.selectRoom(room_id); return false; }); // jQuery("#booking-form").on('submit', function() { var check_in = jQuery("#input-check-in-date").val(), check_in_time = func.strtotime(check_in), check_out = jQuery("#input-check-out-date").val(), check_out_time = func.strtotime(check_out), adults = jQuery("#input-adults").val(), children = jQuery("#input-children").val(), room_id = jQuery("#input-room-id").val(), form_error = ''; if (!check_in || !check_out) { form_error = 'No dates!'; } else if (!adults && !children) { form_error = 'No number of adults and children! '; } else if (!room_id) { form_error = 'No selected room!'; } else if (check_in_time >= check_out_time) { form_error = 'Wrong dates!'; } if (!form_error) { var booking_data = { id: func.generateHash(32), check_in: check_in, check_in_time: check_in_time, check_out: check_out, check_out_time: check_out_time, adults: adults, children: children, room_id: room_id }; jQuery("#input-booking-data").val(func.urlEncode(JSON.stringify(booking_data))); jQuery("#booking-form").attr('action', jQuery("#booking-form").attr('action') + '&booking_id=' + booking_data.id); } else { jQuery("#booking-step-1-error").html(form_error).slideDown('normal'); return false; } }); }, setupStep1: function(setup_data) { if (setup_data['check_in'] && setup_data['check_out']) { jQuery("#input-check-in-date").val(setup_data['check_in']); jQuery("#input-check-out-date").val(setup_data['check_out']); } if (setup_data['adults'] && setup_data['children']) { jQuery("#input-adults").closest('.selectricWrapper').find('ul li:contains(' + setup_data['adults'] + ')').trigger('click'); jQuery("#input-children").closest('.selectricWrapper').find('ul li:contains(' + setup_data['children'] + ')').trigger('click'); } if (setup_data['room']) { jQuery("#rooms-list-e-" + setup_data['room'] + " .btn-select-room").trigger('click'); } }, selectRoom: function(room_id) { var $this = jQuery("#rooms-list-e-" + room_id), $this_btn = $this.find('.btn-select-room'), $active_btn = jQuery("#rooms-list .e .btn-select-room.active"); // $active_btn.removeClass('active').text($active_btn.attr('data-text')); if (!$this_btn.hasClass('active')) { $this_btn.addClass('active').text($this_btn.attr('data-text-active')); } else { $this_btn.addClass('active').text($this_btn.attr('data-text')); } // jQuery("#input-room-id").val(room_id); }, // STEP 2 initStep2: function() { jQuery("#booking-step-2-form").on('submit', function() { var form_data = pageBooking.validFormStep2(); if (!form_data) { return false; } else { jQuery("#input-user-data").val(func.urlEncode(JSON.stringify( form_data ))); } }); }, validFormStep2: function() { var form_data = {}, form_error = false; jQuery("#booking-step-2-form [name]").each(function() { var $this = jQuery(this); if ($this.attr('required_')) { if (!this.value) { $this.addClass('input-err'); form_error = true; return true; } } $this.removeClass('input-err'); form_data[this.name] = this.value; }); if (form_error) { return false; } return form_data; } };